Command-Line
如何通過命令行獲取有關我的虛擬桌面的資訊?
我很好奇如何獲取桌面尺寸、目前處於活動狀態的桌面以及為桌面環境 (DE) 設置的標籤(如果有)等資訊。
使用該工具
wmctrl
,您可以獲得上述所有資訊,特別是-d
開關。例子
$ wmctrl -d 0 * DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 Workspace 1 1 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 2 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A 3 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
細節
每個桌面輸出一行,該行被分成空格分隔的列。
- 第一列包含一個整數桌面編號。
- 第二列包含目前桌面的“*”字元,否則包含“-”字元。
- 接下來的兩列包含固定字元串 DG:,然後是桌面幾何形狀為“x”(例如“1280x1024”)。
- 以下兩列包含固定字元串 VP: 以及格式為 ‘,’ 的視口位置(例如,‘0,0’)。
- 接下來的三列包含固定字元串 WA:,然後是兩列,工作區幾何形狀為“X,Y 和 WxH”(例如“0,0 1280x998”)。
- 該行的其餘部分包含桌面的名稱(可能包含多個空格)。
使用 wmctrl 可以做的超酷的事情
列出有關視窗管理器的資訊
$ wmctrl -m Name: compiz Class: N/A PID: N/A Window manager's "showing the desktop" mode: OFF
列出活動視窗
$ wmctrl -l 0x00c00028 -1 grinchy Top Expanded Edge Panel 0x0120001e 0 grinchy x-nautilus-desktop 0x06015fee 0 grinchy saml@grinchy:~ 0x06000004 0 grinchy saml@grinchy:~ 0x05a000d1 0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
每個視窗輸出一行,該行被分成空格分隔的列。
- 第一列始終包含作為十六進制整數的視窗標識。
- 第二列始終包含桌面編號(-1 用於標識粘性視窗)。
- 如果
-p
指定了該選項,則下一列將包含視窗的 PID 作為十進制整數。- 如果
-G
指定了該選項,那麼將跟隨四個整數列:x-offset、y-offset、width 和 height。- 下一列始終包含客戶端電腦名稱。
- 該行的其餘部分包含視窗標題(可能在標題中有多個空格)。
-p
切換範例0x06015fee 0 3278 grinchy saml@grinchy:~ 0x06000004 0 3278 grinchy saml@grinchy:~ 0x05a000d1 0 4676 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
-G
切換範例0x06015fee 0 3378 128 941 361 grinchy saml@grinchy:~ 0x06000004 0 900 142 947 397 grinchy saml@grinchy:~ 0x05a000d1 0 0 50 1440 826 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
**注意:*和
-p
開關-G
也可以組合使用!切換到不同的桌面
$ wmctrl -s 2
**注意:**桌面從 0 開始編號,因此 1 是第二個。
減少桌面數量
$ wmctrl -n 3
我們現在有 3 個而不是 4 個。
$ wmctrl -d | wc -l 3
現在把它放回4。
$ wmctrl -n 4 $ wmctrl -d | wc -l 4
關閉視窗
$ wmctrl -l | grep GVIM 0x02a00003 0 grinchy [No Name] - GVIM $ wmctrl -c GVIM $ wmctrl -l | grep GVIM $