首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在终端中运行的应用程序使用StartupWMClass

问在终端中运行的应用程序使用StartupWMClass
EN

Ask Ubuntu用户
提问于 2020-10-03 18:13:37
回答 1查看 1.1K关注 0票数 0

在18.04中,我在Dash中有一个发射器在终端中运行一个应用程序,其中Dash在运行时显示一个指示点,而不是一个通用终端发射器的指示器(这样,如果其他终端窗口打开,我就能够找到它)。我能够在Exec条目中使用-class选项以及StartupWMClass来实现这一点。

在20.04中,启动程序无法工作,因为终端被打开,应用程序尝试启动,然后终端关闭。我在googled上搜索了一下,有一些关于-class选项被贬值的传言。如果我删除-class选项,启动器工作,但指示点是附加到通用终端启动器。

以下是删除-class选项之前的.desktop文件

代码语言:javascript
复制
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Encoding=UTF-8
StartupNotify=true
Icon[en_US]=sage-terminal
Icon=sage-terminal
Exec=/home/rquint/Sage/SageMath/sage --class=SageTerminal
StartupWMClass=SageTerminal
Name=SageTerminal
Name[en_US]=SageTerminal
Actions=SageDocumentation;

[Desktop Action SageDocumentation]
Name=Sage Documentation
Exec=firefox /home/rquint/Sage/SageMath/local/share/doc/sage/html/en/index.html
EN

回答 1

Ask Ubuntu用户

发布于 2020-10-05 17:10:13

这不是一个完美的解决方案,但就目前而言,它是可行的。我在谷歌上发现了以下内容

https://itectec.com/ubuntu/ubuntu-how-to-make-a-custom-launcher-for-terminal-applications/

它展示了如何在终端中启动应用程序,尽管启动程序使用了Terminal=false。在本质上,您正在启动一个终端模拟器,然后运行应用程序。这种方法有两个可能的问题。首先,它专门调用一个特定的终端仿真器;其次,-class选项被折旧,将来可能无法工作。

所以,现在(Ubuntu20.04.1和Gnome 3.36.3),我已经替换了行

代码语言:javascript
复制
Terminal=true
Exec=/home/rquint/Sage/SageMath/sage --class=SageTerminal

使用

代码语言:javascript
复制
Terminal=false
Exec=gnome-terminal --class=SageTerminal -e /home/rquint/Sage/SageMath/sage

有我想要的行为。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1279779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档