Я хочу перечислить только запущенные приложения, такие как: Firefox, Gedit, Nautilus и т. Д. С помощью командной строки.
Примечание: я не хочу перечислять все запущенные процессы, только приложения, которые работают (скажем, вручную запущенные графические интерфейсы).
command-line
gui
window
Pandya
источник
источник
Ответы:
Сочетание
wmctrl
иxprop
предлагает много возможностей.Пример 1:
В этом случае вывод может выглядеть примерно так:
Пример 2:
Пример вывода:
Вы можете добавить функцию к себе
~/.bashrc
или запустить ее из файла скрипта.источник
Введение
Сила
xdotool
иwmctrl
выходит, когда вам нужно выполнить манипуляции с окнами, такие как перемещение или изменение размера. Тем не менее, я твердо верю, что для целей только перечисления запущенных программ и информации о них,xprop
иqdbus
два достаточных инструмента и установки,xdotool
иwmctrl
если пользователь не хочет, чтобы те для дополнительной функциональности - это бесполезная задача. В этом ответе я хотел бы представить два решения для сценариев сxprop
иqdbus
.Обратите внимание, что я ни в коем случае не против
xdotool
илиwmctrl
. Я сам широко их использовал, но считаю их более мощными в сочетании с другими инструментами. Вот лишь несколько примеров, где я их использовал:Xprop
В приведенном ниже скрипте используется только xprop для извлечения списка активных окон, отфильтровывания только истинных окон (не для типа док-станции suck, как Unity Launcher или Unity Panel) и отображения их информации:
Демо-версия:
Источник скрипта :
QDBus
Приведенный ниже код выполняет в основном ту же задачу, однако сначала он отфильтровывает приложения, затем перечисляет дочерние окна и, наконец, предоставляет информацию о них.
Образец прогона:
Сам код:
Немного более простая команда, но требующая фильтрации выходных данных, использует интерфейс dbus стека окон Unity. Вот, по сути, функция, которую я имею в моем
.mkshrc
Образец прогона:
Примеры использования qdbus:
источник
wmctrl -l
может быть вещь, которую вы хотели. Сначала установите егоВы также можете объединить его со списком System Monitor, по умолчанию он показывает «Все мои процессы», что означает все процессы, которые принадлежат вам как пользователю.
Чтобы иметь только имена приложений, запустите:
РЕДАКТИРОВАТЬ:
источник
0x03c000b3 0 avinash-Lenovo-IdeaPad-Z500 How list of running applications by command? - Ask Ubuntu - Mozilla Firefox
плюс некоторые дополнительные строки о рабочем столе, Hud и т. Д.wmctrl -l|awk '{out=""; for(i=2;i<=NF;i++){out=$out" "$i}; print $out}'
добавит к моему ответу. Спасибо за указание.