Получить список открытых окон в Linux

24

ps ax показывает все запущенные процессы. Я хочу сделать что-то похожее, но вместо имен реальных процессов я хочу, чтобы вместо них были указаны имена окон. Какая команда Linux сделает это?

tony_sid
источник

Ответы:

35

wmctrl -lможет быть то, что вы ищете. Программа wmctrl также может выполнять некоторые простые действия с окнами, например перемещать их и устанавливать их свойства.

Жиль "ТАК - перестань быть злым"
источник
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 - VLC Media Player
Smile4ever
источник