從命令行遠程配置 Xfce4 工作區
與專有操作系統相比,我很欣賞 Linux 的一個特點是,幾乎所有的東西都可以從命令行中進行管理和配置。意味著幾乎所有的事情都可以在本地或者通過 SSH 遠程登錄進行管理。雖然有時候需要花費一點時間在互聯網上搜索,但是你能想到的任務,是有可能從命令行完成的。
問題
有時候需要使用命令行對桌面進行遠程配置。在這種特殊情況下,我需要響應遠程用戶的請求將在 ??Xfce?? 控制板上的工作區從四個減少到三個。這種配置只需要在互聯網上搜索約 20 分鐘就找到了。
xfwm4 的默認工作區數量和許多其他設置可以在 ??/usr/share/xfwm4/defaults?
?? 這個文件中找到和修改。因此將 ??workspace_count=2?
?? 設置為 ??workspace_count=4?
?? 就改變了主機上所有用戶的默認值。同時,非 root 用戶可以執行 ??xfconf-query?
? 命令來查詢和設置 xfwm4 窗口管理器的各種屬性。它應該由需要改變設置的用戶使用,而不是由 root 使用。
在下面的例子中,首先我驗證了當前工作區數量為 ??4?
?? ,然后將數量改為 ??2?
?,最后確認了新設置。
[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 ~]#
此更改會立即生效,用戶可以馬上看到,無需重新啟動,甚至無需注銷并重新登錄。我曾在我的工作站上玩過這個游戲,當我輸入設置不同數量的工作空間的命令時,可以觀察到工作空間切換器的變化。我在哪兒都能找到樂子。;- )
更多探索
現在我解決了這個問題,我決深入了解一下 ??xfconf-query?
?? 命令。不幸的是,該工具沒有手冊或信息頁,??/usr/share?
?? 中也沒有任何文檔。退而求其次,使用 ??-h?
? 選項獲取一些幫助信息。
$ xfconf-query -h
Usage:
xfconf-query [OPTION…] - Xfconf commandline utility
Help Options:
-h, --help 顯示幫助選項
Application Options:
-V, --version 版本信息
-c, --channel 查詢/修改通道
-p, --property 查詢/修改屬性
-s, --set 更新權限的值
-l, --list 羅列屬性(或者通道,如果沒有用 -c 指定)
-v, --verbose 詳細輸出
-n, --create 當新屬性不存在,則創建它
-t, --type 指定屬性值類型
-r, --reset 重置屬性
-R, --recursive 遞歸(與 -r 一起使用)
-a, --force-array 即使只有一個元素也強制采用數組
-T, --toggle 反轉現有的布爾屬性
-m, --monitor 監視屬性更改的通道
這沒有多大幫助,但我們還是可以從中找出一些有用的東西。首先,通道 是可以修的屬性的分組。我對 ??general?
?? 通道下的 ??workspace_count?
? 屬性進行了更改。讓我們看看完整的通道列表:
$ 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
給定通道的屬性也可以用下列的命令來查看。我使用 ??less?
? 分頁器,因為結果是一長串數據。我對下面的列表進行了裁剪,但留下了足夠多的條目,你可以看到這些條目的類型。
$ xfconf-query -c xfwm4 -l | less
/general/activate_action
/general/borderless_maximize
/general/box_move
/general/box_resize
/general/button_layout
/general/button_offset
<裁剪>
/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)
你可以用這種方式探索所有的通道。我發現通道通常對應“設置管理器”中的各種設置。這些屬性是你在這些對話框中設置的。請注意,并非你在“設置管理器”對話窗口中找到的所有設置都是
Xfce 桌面的一部分,因此它們沒有對應的通道。屏幕保護程序就是一個例子,因為它是通用的 GNU 屏幕保護程序,并不是 Xfce
獨有的。“設置管理器” 是 Xfce 定位這些配置工具的一個很好的中心位置。
文檔
綜上所述,??xconf-query?
?? 命令似乎沒有任何手冊或信息頁,并且我在網上發現了很多不正確的、記錄不全的信息。我發現對 Xfce4 來說最好的文檔是 ??Xfce 網站???,關于 ??xconf-query?
? 的一些具體信息可以在這里找到。