如何使 ubuntu budgie 中的终端快捷方式打开已经运行的终端而不是打开新窗口?
答案1
为了使终端的启动器打开现有终端而不是打开新实例,请编辑Exec=
相应.desktop
文件的行。您将在 中找到终端的启动器/usr/share/applications
。
要自定义启动器,请先将其复制到~/.local/share/applications
。然后根据以下方法之一更改行上的命令Exec=
。启动器的本地副本将替换系统范围的副本。与编辑系统范围文件相比,此方法的优点是 1) 您不需要以 root 身份进行更改,并且 2) 更改永远不会被系统更新覆盖。
这里给出的方法是通用的。它不仅限于您的 Budgie 桌面环境,可以用于任何应用程序,也可以在快捷键中使用。
选项1。wmctrl
一个非常简单的技巧是使用以下命令作为快捷键:
sh -c "wmctrl -x -a gnome-terminal-server || gnome-terminal"
这将尝试切换到类为“gnome-terminal”的窗口。如果失败,它将启动终端。当然,您需要分别用终端应用程序的实际 WM_CLASS 和命令替换gnome-terminal-server
和。gnome-terminal
- 你可以用命令 找到你应用程序的正确窗口类
xprop | grep WM_CLASS
。运行命令后,单击你想要获取信息的窗口,你将看到 WM_CLASS。 wmctrl
默认情况下未安装:您可能需要先安装它。
选项 2:jumpapp
更“奢侈”的方法是使用实用程序jumpapp
,它实际上依赖wmctrl
于“艰苦的工作”。此工具存在于 Github 上,在标准 Ubuntu 软件存储库中不可用。.deb 文件可用以便于安装。
它提供了更多的灵活性,避免了编写脚本的需要。例如,如果打开了多个应用程序窗口,反复按下热键将循环显示这些窗口。请参阅这里有一篇关于它的扩展文章。