我想关闭桌面上出现的所有窗口。我也想过这么做pkill
,但一次只能杀掉他们一个,这不是我想要的。最终目标是将其放入脚本中来运行信息亭,它将检测信息亭软件是否正在运行(我想出了这部分),如果没有,那么它将杀死所有打开的窗口,并重新启动我的计算机。信息亭软件。
答案1
最简单的方法使用xdotool
:
xdotool search "" windowkill %@
xdotool search ""
列出每个窗口。windowkill %@
杀死他们每一个人;%@
指的是之前搜索的所有结果。
您可能更喜欢使用--maxdepth 1
选项tosearch
将所选窗口限制为顶级窗口。
答案2
这至少适用于 kde 和 xfce(gnome 未测试,但也可能有效):
1)安装wmctrl
2)然后创建一个名为的脚本close_windows.sh
:
# close all open windows gracefully without closing the Desktop environment
WIN_IDs=$(wmctrl -l | grep -vwE "Desktop$|xfce4-panel$" | cut -f1 -d' ')
for i in $WIN_IDs; do wmctrl -ic "$i"; done
# Keep checking and waiting until all windows are closed (you probably don't need this section)
while test $WIN_IDs; do
sleep 0.1;
WIN_IDs=$(wmctrl -l | grep -vwE "Desktop$|xfce4-panel$" | cut -f1 -d' ')
done
3)使其可执行:chmod +x ./close_windows.sh
3) 在开始菜单中创建一个指向 close_windows 脚本的条目。
4) 从该条目执行 close_windows 脚本。
答案3
答案4
也许是与命令的组合/解决方法killall processName
,并适应一组可能运行的应用程序。
例如。杀死所有终端killall bash
,杀死所有chrome窗口killall chrome
,这样就可以关闭预期的应用程序进程的组合。