如何从终端选择并执行 GTK Windows 上的操作?具体来说,我想关闭所有标题包含特定字符串的窗口。
通常,我只会ps
找到相关进程,然后杀死该进程。但是,我遇到过多个窗口共享同一个进程的情况,而我不想杀死父窗口。
答案1
控制端是从终端与 X Window 管理器交互的工具。要关闭所有与字符串匹配的窗口$myStr
,请使用以下命令:
while wmctrl -c "$myStr";do :;done
解释
wmctrl 使用 -c 参数关闭窗口。方便的是,这可以对窗口标题进行字符串匹配,正如我所希望的那样。但是,wmctrl 一次只能对一个窗口起作用,因此我循环重复执行此操作,直到所有匹配的窗口都关闭。发生这种情况时,wmctrl 返回错误代码并停止循环。':' 是无操作 shell 内建命令这是必需的,因为 bash 循环不能为空。
您可能需要先安装 wmctrl,例如。sudo apt-get install wmctrl