我有Ubuntu 20
。
我想only one
为用户运行 Thunar 实例。
我试过了:wmctrl
-不起作用,thunar窗口没有出现
这个怎么做?
答案1
启动或切换到
如果应用程序本身在第二次运行时不允许连接到正在运行的实例,则可以使用wmctrl
切换到存在的正在运行的实例。
下面的一行代码就可以了:
wmctrl -x -a Thunar || thunar
这将运行wmctrl
,它将切换(-a
,激活)到类为( )“Thunar”的窗口-x
。如果命令失败,即没有这样的窗口,则||
运行后面的命令,即启动 thunar 的命令。在 的输出中找到正确的窗口类(不确定“Thunar”是否有效)wmctrl -lx
。
调整启动器
您现在可以在菜单中自定义 Thunar 的启动器。启动器是带有.desktop
扩展名的文本文件。它们(以及其他文件)位于 中/usr/share/applications
。将 Thunar 的启动器复制到您的~/.local/share/applications
文件夹中:
cp /usr/share/application/thunar.desktop ~/.local/share/applications
然后编辑副本并将行更改Exec=
为如下内容:
Exec=sh -c "wmctrl -x -a Thunar || thunar %U"
您将命令(实际上是两个命令)括在对 bash ( sh -c
) 的调用中,因为启动器不支持在 Exec is 行上有多个命令。thunar %U
应该是最初出现在启动器中的命令。
**调整热键以启动Thunar”
如果您使用热键启动 Thunar,则可以改为指定sh -c "wmctrl -x -a Thunar || thunar
为命令。现在,按下热键将会把正在运行的实例放在前面(如果有的话)。
可选提示
我没有直接使用,而是wmctrl
使用 bash 脚本jumpapp
(https://github.com/mkropat/jumpapp),它的功能相同,但功能更强大。后续调用将循环遍历所有打开的窗口。该脚本具有不同的选项来应对不同应用程序的特定行为。