Pan*_*dya 9 gui command-line window
我只想使用命令行列出正在运行的应用程序,例如:Firefox、gedit、Nautilus 等。
注意:我不想列出所有正在运行的进程,只列出正在运行的应用程序(比如手动启动的 GUI)。
TuK*_*Ksn 11
的组合wmctrl,并xprop 提供了许多可能性。
示例 1:
running_gui_apps() {
# loop through all open windows (ids)
for win_id in $( wmctrl -l | cut -d' ' -f1 ); do
# test if window is a normal window
if $( xprop -id $win_id _NET_WM_WINDOW_TYPE | grep -q _NET_WM_WINDOW_TYPE_NORMAL ) ; then
echo "$( xprop -id $win_id WM_CLASS | cut -d" " -f4- )"", window id: $win_id"
fi
done
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,输出可能如下所示:
"Firefox", window id: 0x032000a9
"Gnome-terminal", window id: 0x03a0000c
"Thunar", window id: 0x03600004
"Geany", window id: 0x03c00003
"Thunar", window id: 0x0360223e
"Mousepad", window id: 0x02c00003
"Mousepad", window id: 0x02c00248
"Xfce4-terminal", window id: 0x03e00004
Run Code Online (Sandbox Code Playgroud)
示例 2:
"Firefox", window id: 0x032000a9
"Gnome-terminal", window id: 0x03a0000c
"Thunar", window id: 0x03600004
"Geany", window id: 0x03c00003
"Thunar", window id: 0x0360223e
"Mousepad", window id: 0x02c00003
"Mousepad", window id: 0x02c00248
"Xfce4-terminal", window id: 0x03e00004
Run Code Online (Sandbox Code Playgroud)
输出示例:
Firefox
Geany
Gnome-terminal
Mousepad
Thunar
Xfce4-terminal
Run Code Online (Sandbox Code Playgroud)
您可以将函数添加到您~/.bashrc的脚本文件中或从脚本文件运行它。