Отримайте список відкритих вікон в Linux


24

ps ax показує всі запущені процеси. Я хочу зробити щось подібне, але замість імен фактичних процесів, я хочу назвати вікна вікон. Яка команда Linux це зробить?

Відповіді:



18

xlsclientsпоказує запущених клієнтів і xwininfo -root -childrenпоказує всім дітям кореневого вікна. Це також включає деякі речі, які надає менеджер вікон або робочий стіл.


Це вихід wmctrl -l плюс ще кілька.
Smile4ever

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 - Як зняти та замінити - Переповнення стека - Блідий Місяць
Як я можу використовувати змінну в sed? | Форуми Unix Linux | Програмування та сценарій оболонок - Блідий Місяць
Видаліть усе після символів * або # або & в текстовому файлі за допомогою GREP - Переповнення стека - Блідий місяць
Video.mp4 - Media Player VLC
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.