Ответы:
wmctrl -l
может быть то, что вы ищете. Программа wmctrl также может выполнять некоторые простые действия с окнами, например перемещать их и устанавливать их свойства.
xlsclients
показывает работающих клиентов и xwininfo -root -children
показывает все дочерние элементы корневого окна. Это также включает в себя некоторые вещи, которые использует ваш оконный менеджер или рабочий стол.
Вот способ показать только имена:
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
Если вам нужны просто заголовки и никакая другая информация (даже пробелы), вы можете использовать это:
wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"
Результат:
linux - Как получить и заменить - Переполнение стека - Бледная луна Как я могу использовать переменную в sed? | Unix Linux Форумы | Программирование и сценарии оболочки - Бледная луна Удалить все после символов * или # или & в текстовом файле с помощью GREP - Переполнение стека - Бледная луна Video.mp4 - VLC Media Player