如何仅在GNOME中使程序自动启动


14

我同时使用GNOME和KDE SC。在GNOME中,我使用Docky,但不将其与KDE一起使用。因此,我希望Docky仅在我登录GNOME而不是KDE时启动。在KDE中,有一个选项可以使程序仅在KDE中自动启动。但是我在GNOME中找不到任何这样的选项。

我怎样才能做到这一点?

提前致谢。

Answers:


14

您可以在其中编辑启动对象~/.config/autostart并将其添加到末尾:

OnlyShowIn=GNOME

这是一个名称不正确的选项,但是它将导致KDE无法启动应用程序。


3

我没有安装kde来验证这一点,但我相信在此添加应用程序:系统->首选项->会话->启动程序是gnome特有的。

如果这样不起作用,则可以始终将程序放在包装脚本中,该脚本检查环境变量$ DESKTOP_SESSION的值。像这样:

#!/bin/bash
if [ $DESKTOP_SESSION == "GNOME" ];then
        myApplication
fi

希望这能回答您的问题!


系统->首选项->会话->启动程序不是gnome特有的。
ricky

1

如果找不到启动程序的条目,则可能还会找到它/etc/xdg/autostart。我知道他们终于使用OnlyShownIn设置自动从KDE中修复了Nautilus。更改此目录中的文件是系统范围的,因此您可能需要将有问题的应用程序的文件复制到~/.config/autostart/

除了使用OnlyShownIn,您还可以使用NotShownIn。这样一来,您就可以不在一个桌面上使用任何东西,而在其他桌面上使用它。对于此示例,可以使用以下方法在除KDE之外的所有桌面管理器中加载Docky:

NotShownIn=KDE;

如果您不希望它在任何桌面上启动,则可以将其更改为OnlyShownIn=; .desktop文件中的行以分号结尾。分号还用于分隔设置的值,这些设置可同时使用多个值。

这个技巧将意味着您必须列出所有用于阻止某些程序运行的桌面外壳程序。因此,NotShownIn=Unity如果仅安装了Unity,则可以使用,但是如果以后安装KDE或Gnome,它仍然可以启动。

如果用户自动启动文件夹中的桌面文件没有阻止应用程序启动,则需要处理xdg目录中的桌面文件。为此,我将制作该文件的备份副本。而不是使用bak扩展名来复制它,或使用稍后可能会被覆盖的某些标准复制此示例,此操作针对的是虚构的应用程序badapp。

sudo cp /etc/xdg/autostart/badapp.desktop /etc/xdg/autostart/badapp.desktop.stop

然后,您可以编辑原始桌面文件。如果出现故障,您最终将以文本启动方式启动,则可以将文件重命名为原始名称。

sudo cp /etc/xdg/autostart/badapp.desktop.stop /etc/xdg/autostart/badapp.desktop

另外,KDE的默认用户自动启动文件夹是~/.kde/Autostart/因为KDE以KDE方式执行操作。


0

System > Preferences > Startup Applications 这是KDE启动管理器的Gnome替代方案。


Marco说的是,我认为这是特定于DM的。
反转

是的,但不仅限于GNOME。该应用程序也将在KDE中启动。
ricky 2010年

0

编辑自动启动文件的另一种方法是使用类似如下的行:

OnlyShowIn=GNOME;Unity;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.