启动命令存储在哪里?


45

当您转到“启动应用程序”时,会看到在启动时执行的命令列表,您可以添加自己的命令。

我想知道此列表的存储位置。在gconf中吗?

我想知道以下两个原因:

  • 以编程方式添加命令
  • 禁用一些命令(在Oneiric中,默认命令不再显示)

Answers:


49

根据Ubuntu和所有主要桌面环境(例如Gnome,LXDE,XFCE)遵循的桌面应用程序自动启动规范,启动应用程序是.desktop按用户存储在

~/.config/autostart

在全球范围内,对于所有用户

/etc/xdg/autostart

(这是一种简化,真实目录由XDG基本目录规范确定)

每个.desktop文件中的此属性提供启用/禁用功能:

X-GNOME-Autostart-enabled=true (or false)

如果用户切换系统文件夹中给定应用程序的启用/禁用状态(不删除它),则将其复制到用户目录,然后X-GNOME-Autostart-enabled更改属性。如果用户从列表中删除给定的应用程序,则.desktop将被复制到具有Hidden=true属性的用户文件夹中(或者如果该文件仅存在于用户目录中,则将该文件删除)

用户和系统文件夹中的文件都不需要标记为可执行文件。默认权限为644(rw-r--r--)。文件的可执行权限.desktop仅对桌面区域(工作区)中的启动器有用,因此它们显示其图标并允许双击以启动应用程序。通常,对于Dash,Launcher,Autostart和菜单,可执行位无关紧要。


2
谢谢,这很有帮助。同样的路径也适用于Kubuntu。
ctd

@ctd :(大多数)它也应该可以在其他台式机上使用,例如XFCE和LXDE,因为这是FreeDesktop.org制定的标准,旨在实现跨台式机的兼容性。
MestreLion 2012年

太棒了!这意味着可以使用启动应用程序来安装加密的Veracypt容器,并且包含密钥的命令在用户的加密主目录中将是安全的。他们只需要使用visudo来允许root权限在没有密码的情况下对该用户进行veracrypt。
nhorning

好吧,我已经搜索并尝试了许多替代方法,但是/etc/xdg/autostart在Bionic Beaver(18.04)上仅桌面文件对我有用。谢谢!
Arthur Henrique Della Fraga

1
@ArthurHenriqueDellaFraga,我刚刚测试过,~/.config/autostart仍然对Ubuntu 18.04有效。尝试添加使用任何发射器Startup Applications(搜索它在你的应用程序),它会创建一个.desktop有文件
MestreLion

6

我使用的xfce是大多数与系统相关的自动启动命令,例如

power-managers, gnome-keyring, ubuntuone, blueman etc

存储在/etc/xdg/autostart大多数用户特定的自动启动位于

$USER/.config/autostart 您可以看看这两个地方。


/ etc / xdg / autostart适用于系统,适用于所有用户
Pavak Paul

4

在KDE中

〜/ .kde /自动启动

这已贬值,KDE Plasma现在遵循XDG规范。在以下位置找到系统范围的启动目录,在其中找到/etc/xdg/autostart用户特定的目录~/.config/autostart

我那里有一个启动Krusader的脚本:

 #!/bin/bash
 krusader &

不要忘记制作脚本,您将在“自动启动”中添加这些脚本以使其可执行。


2
KDE曾经有自己的自动启动目录,但如今它们遵循XDG规范。也许~/.kde/Autostart仍然可以使用,但是为了实现交叉兼容性,最好使用XDG
Dirs
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.