Eines der Dinge, die ich an Linux gegenüber proprietären Betriebssystemen schätze, ist, dass fast alles über die Befehlszeile verwaltet und konfiguriert werden kann. Das bedeutet, dass fast alles lokal oder sogar remote über eine SSH-Login-Verbindung konfiguriert werden kann. Manchmal dauert es ein wenig, bis das Internet durchsucht wird, aber wenn Ihnen eine Aufgabe einfällt, kann sie wahrscheinlich über die Befehlszeile ausgeführt werden.
Das Problem
Manchmal ist es notwendig, Remote-Änderungen an einem Desktop über die Befehlszeile vorzunehmen. In diesem speziellen Fall musste ich auf Wunsch eines Remote-Benutzers die Anzahl der Arbeitsbereiche im Xfce-Bedienfeld von vier auf drei reduzieren. Diese Konfiguration erforderte nur etwa 20 Minuten Suche im Internet.
Die Standardarbeitsplatzanzahl und viele andere Einstellungen für xfwm4 finden und ändern Sie im /usr/share/xfwm4/defaults Datei. Also Einstellung workspace_count=4 zu workspace_count=2 ändert die Standardeinstellung für alle Benutzer auf dem Host. Auch die xfconf-Abfrage Der Befehl kann von Nicht-Root-Benutzern ausgeführt werden, um verschiedene Attribute für die . abzufragen und festzulegen xfwm4 Fenstermanager. Es sollte von dem Benutzerkonto verwendet werden, das die Änderung erfordert, und nicht von Root.
Im folgenden Beispiel habe ich zuerst die aktuelle Einstellung von überprüft vier Arbeitsbereiche, und setzen Sie dann die Zahl auf zwei, und bestätigte schließlich die neue Einstellung.
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count
4
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count -s 2
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count
2
[user@test1 ~]#
Diese Änderung erfolgt sofort und ist für den Benutzer ohne Neustart oder sogar Ab- und erneutes Anmelden sichtbar. Ich hatte ein bisschen Spaß damit auf meiner Workstation, indem ich beobachtete, wie sich der Arbeitsbereichsschalter änderte, als ich Befehle zum Einstellen unterschiedlicher Anzahlen von Arbeitsbereichen eingab. Heutzutage hole ich mir meine Belustigungen, wo ich kann. 😉
Weitere Erkundungen
Nachdem ich das Problem nun behoben hatte, beschloss ich, die xfconf-Abfrage Befehl etwas ausführlicher. Leider gibt es keine Man- oder Info-Seiten für dieses Tool und auch keine Dokumentation in /usr/share. Der übliche Fallback der Verwendung der -h Option führte zu wenig hilfreichen Informationen.
$ xfconf-query -h
Usage:
xfconf-query [OPTION…] - Xfconf commandline utility
Help Options:
-h, --help Show help options
Application Options:
-V, --version Version information
-c, --channel The channel to query/modify
-p, --property The property to query/modify
-s, --set The new value to set for the property
-l, --list List properties (or channels if -c is not specified)
-v, --verbose Verbose output
-n, --create Create a new property if it does not already exist
-t, --type Specify the property value type
-r, --reset Reset property
-R, --recursive Recursive (use with -r)
-a, --force-array Force array even if only one element
-T, --toggle Invert an existing boolean property
-m, --monitor Monitor a channel for property changes
Das ist keine große Hilfe, aber wir können trotzdem ein gutes Stück daraus herausbekommen. Zuerst, Kanäle sind Gruppierungen von Eigenschaften, die geändert werden können. Ich habe die obige Änderung an der vorgenommen Allgemeines Kanal, und die Eigenschaft ist workspace_count. Schauen wir uns die vollständige Liste der Kanäle an.
$ xfconf-query -l
Channels:
xfwm4
xfce4-keyboard-shortcuts
xfce4-notifyd
xsettings
xfdashboard
thunar
parole
xfce4-panel
xfce4-appfinder
xfce4-settings-editor
xfce4-power-manager
xfce4-session
keyboards
displays
keyboard-layout
ristretto
xfcethemer
xfce4-desktop
pointers
xfce4-settings-manager
xfce4-mixer
Die Eigenschaften für einen bestimmten Kanal können auch mit der folgenden Syntax angezeigt werden. Ich habe die benutzt weniger Pager, da das Ergebnis ein langer Datenstrom ist. Ich habe die Liste unten beschnitten, aber genug übrig gelassen, um die Art der Einträge zu sehen, die Sie erwarten können.
$ xfconf-query -c xfwm4 -l | less
/general/activate_action
/general/borderless_maximize
/general/box_move
/general/box_resize
/general/button_layout
/general/button_offset
<SNIP>
/general/workspace_count
/general/workspace_names
/general/wrap_cycle
/general/wrap_layout
/general/wrap_resistance
/general/wrap_windows
/general/wrap_workspaces
/general/zoom_desktop
(END)
Sie können auf diese Weise alle Kanäle erkunden. Ich habe festgestellt, dass die Kanäle im Allgemeinen den verschiedenen Einstellungen im . entsprechen Einstellungsmanager. Die Eigenschaften sind die, die Sie in diesen Dialogfeldern festlegen würden. Beachten Sie, dass nicht alle Symbole im Einstellungsmanager Dialogfenster sind Teil der Xfce Desktop, daher gibt es keine entsprechenden Kanäle für sie. Der Bildschirmschoner ist ein Beispiel, weil es ein generischer GNU-Bildschirmschoner ist und nicht einzigartig für Xfce. Der Einstellungsmanager ist einfach ein guter zentraler Ort für Xfce um viele dieser Konfigurationstools zu finden.
Dokumentation
Wie bereits erwähnt, scheint es keine Man- oder Info-Seiten für die xconf-Abfrage Befehl, und ich habe viele falsche und schlecht dokumentierte Informationen im Internet gefunden. Die beste Dokumentation, die ich gefunden habe Xfce4 ist auf der Xfce-Website und einige spezifische Informationen zu xconf-Abfrage finden Sie hier.