获取Linux中打开的窗口的列表


24

ps ax显示所有正在运行的进程。我想做类似的事情,但我要列出的窗口名称代替实际进程的名称。什么Linux命令将执行此操作?

Answers:




4

这是仅显示名称的方法:

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

2

如果您只需要标题而没有其他信息(甚至不需要空格),则可以使用以下方法:

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

结果:

linux-如何grep和替换-堆栈溢出-苍白的月亮
如何在sed中使用变量?| Unix Linux论坛| Shell编程和脚本编写-Pale Moon
使用GREP删除文本文件中字符*或#或&之后的所有内容-Stack Overflow-Pale Moon
Video.mp4-VLC媒体播放器
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.