如何使程序在启动时仅在一个使用与其他程序相同桌面环境的确定会话中运行?

如何使程序在启动时仅在一个使用与其他程序相同桌面环境的确定会话中运行?

我安装了 Elementary Team PPA 的软件(意识到了风险),并设置了一个基于 Gnome 的 Pantheon Shell 会话。我希望 Plank(Docky 的一个分支)在启动时运行,但当我登录 Unity 或 Classic Gnome 会话时则不运行。将 Plank 添加到启动应用程序列表中可使其在每个基于 Gnome 的会话中运行。感谢您的帮助!

答案1

启动应用程序由位于 ~/.local/share/autostart 中的 .desktop 文件定义,根据桌面应用程序自动启动规范

它们可选设置将其限制为一个或多个桌面环境,例如

OnlyShowIn=GNOME;XFCE;LXDE;

或者你可以使用

NotShowIn=...

将此应用程序从列出的桌面环境中排除。

单个 .desktop 文件中只能出现其中一个键,即 OnlyShowIn 或 NotShowIn。(这是规范中的直接引用。)

不幸的是,我不确定你所做的是否符合单独的桌面环境......

答案2

找到自动启动文件(例如 conky 的 conky.desktop)

~/.local/share/autostart  OR

~/.config/autostart (In arch based distros)

否则,如果要阻止普通应用程序出现在另一个桌面环境(具有多个 DE 的环境)中,请在

/usr/share/applications
(also check .local/share/applications in your home folder) 

并确定您不想在当前 DE 下出现的应用程序的文件名,例如 vlc.desktop

找到此行

OnlyShowIn=

删除不需要的 DE。如果没有此行,请添加它并添加 DE。例如

 OnlyShowIn=KDE or NotShowIn=GNOME,XFCE;

相关内容