一个终端应用程序;两种(收藏夹)启动模式

一个终端应用程序;两种(收藏夹)启动模式

运行 Ubuntu 20.04,我希望gnome-terminal在收藏夹栏(即“Dock”)中有两种可点击的启动模式。例如,我想要默认启动和定制启动。使用众所周知的机制,默认启动器很容易添加到收藏夹栏。对于自定义启动器,我创建了以下.desktop文件:

$ cat ~/.local/share/applications/custom-terminal.desktop 
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=CustomTerminal
Comment=Terminal for Specialized Development
Exec=$HOME/.bin/custom-terminal.sh
Icon=/usr/share/icons/gnome/48x48/apps/gnome-terminal.png
Terminal=false

对于定制启动,我设置了一个环境变量(FOOBAR),通过该变量我的~/.bashrc文件可以调用自定义逻辑:

$ cat $HOME/.bin/custom-terminal.sh
#!/bin/bash
FOOBAR=SomeTriggerValue /usr/bin/gnome-terminal

问题:我可以将自定义启动器添加到收藏夹栏,但启动的实例与默认启动器的图标错误地关联。例如,默认启动器的图标(在收藏夹栏中)为我的自定义实例显示“红点” gnome-terminal

我曾尝试复制可执行文件 [当然,具有不同的路径] 来“欺骗”桌面,让其相信一个应用程序实际上是两个,但这个花招失败了。

我注意到,如果我右键单击默认gnome-terminal图标,就会出现一个Preferences选项。右键单击自定义gnome-terminal图标则不会出现任何Preferences选项。

问题:如何将 2 个以上自定义启动器添加gnome-terminal到收藏夹栏?

答案1

Ubuntu 启动器根据 WMClass 区分正在运行的应用程序。你应该做两件事

  • 确保自定义启动器的终端采用与默认值不同的 WM_CLASS。
  • 使用指令在启动器中声明自定义 WM_CLASS StartupWMClass=

gnome-terminal --help-gtk参阅如何设置您自己的 WM_CLASS 的选项。

相关内容