ricky Asked: 2010-08-06 04:28:33 +0800 CST2010-08-06 04:28:33 +0800 CST 2010-08-06 04:28:33 +0800 CST 如何仅在 GNOME 中使程序自动启动 772 我同时使用 GNOME 和 KDE SC。在 GNOME 中,我使用 Docky,但在 KDE 中不使用它。所以,我希望 Docky 仅在我登录 GNOME 而不是 KDE 时启动。在 KDE 中,有一个选项可以使程序仅在 KDE 中自动启动。但是我在 GNOME 中找不到任何这样的选项。 我怎样才能做到这一点? 提前致谢。 gnome kde autostart 5 个回答 Voted Best Answer Ressu 2010-08-06T05:28:24+08:002010-08-06T05:28:24+08:00 您可以在其中编辑启动对象~/.config/autostart并将其添加到末尾: OnlyShowIn=GNOME 这是一个名称不佳的选项,但它会导致 KDE 无法启动应用程序。 jclu 2010-08-06T04:59:27+08:002010-08-06T04:59:27+08:00 我没有安装 kde 来验证这一点,但我相信在此处添加应用程序:系统 -> 首选项 -> 会话 -> 启动程序是 gnome 特定的。 如果这不起作用,您始终可以将程序放在检查环境变量 $DESKTOP_SESSION 的值的包装脚本中。像这样的东西: #!/bin/bash if [ $DESKTOP_SESSION == "GNOME" ];then myApplication fi 希望这能回答你的问题! Thomas Sisson 2013-04-28T16:45:00+08:002013-04-28T16:45:00+08:00 如果您找不到启动程序的条目,您也可以在其中找到它/etc/xdg/autostart。我知道他们最终使用 OnlyShownIn 设置修复了 Nautilus 在 KDE 中自动启动的问题。更改此目录中的文件是系统范围的,因此您可能需要将违规应用程序的文件复制到~/.config/autostart/ 除了使用 OnlyShownIn,您还可以使用 NotShownIn。这可以让您不为一个桌面提供某些东西,而是为所有其他桌面显示它。对于此示例,您可以使用以下命令在除 KDE 之外的所有桌面管理器中加载 Docky: NotShownIn=KDE; 如果您不希望它在任何桌面上启动,您可以将其更改为OnlyShownIn=; Lines in .desktop 文件应该以分号结尾。分号还用于分隔同时采用多个值的设置的值。 这个技巧意味着你必须列出你用来阻止某些东西运行的每个桌面外壳。因此,NotShownIn=Unity如果您只安装了 Unity,使用会很好,但如果您稍后安装 KDE 或 Gnome,它仍然会启动。 如果您的用户自动启动文件夹中的桌面文件没有阻止应用程序启动,您将需要处理 xdg 目录中的桌面文件。为此,我会制作该文件的备份副本。对于本示例中名为 badapp 的虚构应用程序,不要使用 bak 扩展名或稍后可能会被覆盖的标准来复制它。 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 的方式做事。 Marco Ceppi 2010-08-06T04:55:38+08:002010-08-06T04:55:38+08:00 System > Preferences > Startup Applications这是 KDE 启动管理器的 Gnome 替代品。 chrisonbuntu 2017-05-30T23:43:13+08:002017-05-30T23:43:13+08:00 编辑自动启动文件的另一种方法是使用如下行: OnlyShowIn=GNOME;Unity;
您可以在其中编辑启动对象
~/.config/autostart
并将其添加到末尾:这是一个名称不佳的选项,但它会导致 KDE 无法启动应用程序。
我没有安装 kde 来验证这一点,但我相信在此处添加应用程序:系统 -> 首选项 -> 会话 -> 启动程序是 gnome 特定的。
如果这不起作用,您始终可以将程序放在检查环境变量 $DESKTOP_SESSION 的值的包装脚本中。像这样的东西:
希望这能回答你的问题!
如果您找不到启动程序的条目,您也可以在其中找到它
/etc/xdg/autostart
。我知道他们最终使用 OnlyShownIn 设置修复了 Nautilus 在 KDE 中自动启动的问题。更改此目录中的文件是系统范围的,因此您可能需要将违规应用程序的文件复制到~/.config/autostart/
除了使用 OnlyShownIn,您还可以使用 NotShownIn。这可以让您不为一个桌面提供某些东西,而是为所有其他桌面显示它。对于此示例,您可以使用以下命令在除 KDE 之外的所有桌面管理器中加载 Docky:
NotShownIn=KDE;
如果您不希望它在任何桌面上启动,您可以将其更改为
OnlyShownIn=;
Lines in .desktop 文件应该以分号结尾。分号还用于分隔同时采用多个值的设置的值。这个技巧意味着你必须列出你用来阻止某些东西运行的每个桌面外壳。因此,
NotShownIn=Unity
如果您只安装了 Unity,使用会很好,但如果您稍后安装 KDE 或 Gnome,它仍然会启动。如果您的用户自动启动文件夹中的桌面文件没有阻止应用程序启动,您将需要处理 xdg 目录中的桌面文件。为此,我会制作该文件的备份副本。对于本示例中名为 badapp 的虚构应用程序,不要使用 bak 扩展名或稍后可能会被覆盖的标准来复制它。
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 的方式做事。System > Preferences > Startup Applications
这是 KDE 启动管理器的 Gnome 替代品。编辑自动启动文件的另一种方法是使用如下行: