我怎样才能只运行一个 Thunar 实例?

我怎样才能只运行一个 Thunar 实例?

我有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 脚本jumpapphttps://github.com/mkropat/jumpapp),它的功能相同,但功能更强大。后续调用将循环遍历所有打开的窗口。该脚本具有不同的选项来应对不同应用程序的特定行为。

相关内容