从命令行关闭 GUI 窗口

从命令行关闭 GUI 窗口

我经常运行脚本来转换 CSV 文件,然后在 LibreOffice 中预览。我经常用xdg-open file.csv.但是,如果我在文件已打开时运行该命令,LibreOffice 只会聚焦该窗口 - 它不会从磁盘重新加载文件。

有没有办法从命令行指定要在 GUI 中关闭的窗口?我不能直接终止该进程,因为 LibreOffice 为其所有窗口共享一个 pid。我在 Mint 17.1 上运行最新版本的 Cinnamon。

答案1

您可以使用 xkill、xdotool 或 wmctl。

在终端上键入 xkill,然后单击要关闭的窗口。

答案2

xkill如果您确实想终止应用程序,但如果您只想关闭窗口,xdo或者xdotool更好,则可以使用。

我的用例是关闭/显示 Transmission 的窗口。 Transmission 运行一个守护进程,也xkill杀死该守护进程。但我只想关闭窗口,而不是杀死整个应用程序。

xdotool有一个windowclose动作,可以与以下内容一起使用:
xdotool search "Transmission" windowclose

但是,由于某种原因这不起作用。两者xdotoolxdo找到“传输”的多个窗口(无论是否显示窗口,数量相同),这可能会导致xdotool.

xdo为我工作:
xdo close -a "Transmission"

相关内容