題 獲取Linux中打開的窗口列表


ps ax顯示所有正在運行的進程。我想做類似的事情,但我想要列出窗口名稱而不是實際進程的名稱。什麼Linux命令會這樣做?


17
2017-08-17 08:44


起源




答案:


wmctrl -l 可能就是你要找的東西。該 wmctrl 程序還可以在窗口上執行一些簡單的操作,例如移動它們並設置它們的屬性。


29
2017-08-17 10:05





xlsclients 顯示正在運行的客戶端和 xwininfo -root -children 顯示根窗口的所有子項。這還包括窗口管理器或桌面渲染的一些內容。


13
2017-08-17 09:01



這是wmctrl -l輸出加上一些。 - Smile4ever


以下是僅顯示名稱的方法:

wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'

因為 wmctrl -l 顯示一些額外的信息,而不僅僅是問題中所需的名稱:

像這樣:

0x020002c6  0 ruslan-Latitude-E6410 fromscratch
0x04600007  0 ruslan-Latitude-E6410 Psensor - Temperature Monitor
0x01600007  0 ruslan-Latitude-E6410 Top Expanded Edge Panel
0x01600017  0 ruslan-Latitude-E6410 Bottom Expanded Edge Panel
0x0200000a -1 ruslan-Latitude-E6410 Desktop
0x05a0000c  0 ruslan-Latitude-E6410 ruslan@ruslan-Latitude-E6410: /var/lib/apt
0x05600085  0 ruslan-Latitude-E6410 index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit

並過濾它 awk 我們只獲得打開窗口的名稱:

   fromscratch
   Psensor - Temperature Monitor
   Top Expanded Edge Panel
   Bottom Expanded Edge Panel
   Desktop
   ruslan@ruslan-Latitude-E6410: /var/lib/apt
   index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
   ubuntu - Get a list of open windows in Linux - Super User - Mozilla Firefox
   cpucraft@cpucraft.com - FileZilla

3
2017-08-11 22:39





如果您只想要標題而沒有其他信息(甚至不是空格),您可以使用:

wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"

結果:

linux  - 如何grep和替換 -  Stack Overflow  -  Pale Moon
我怎樣才能在sed中使用變量? | Unix Linux論壇| Shell編程和腳本 -  Pale Moon
刪除帶有GREP的文本文件中的字符*或#或&之後的所有內容 -  Stack Overflow  -  Pale Moon
Video.mp4  -  VLC媒體播放器

1
2017-12-29 18:37