问题描述
当您转到”Startup Applications”时,您会看到启动时执行的命令列表,您可以添加自己的命令。
我想知道这个列表的存储位置。是在gconf的某个地方吗?
我想知道这有两个原因:
-
以编程方式添加命令
-
禁用一些命令(在Oneiric中,默认值不再显示)
最佳解决方案
根据Desktop Application Autostart Specification,其中Ubuntu和所有主要桌面环境如Gnome,LXDE,XFCE如下,启动应用程序是.desktop
文件,存储在per-user中
~/.config/autostart
对于所有用户而言,全球范围内也是如此
/etc/xdg/autostart
(这是一个简化,真正的目录由XDG Base Directory Specification决定)
每个.desktop
文件中的此属性提供启用/禁用功能:
X-GNOME-Autostart-enabled=true (or false)
如果用户切换系统文件夹中给定应用程序的启用/禁用状态(不删除它),则会将其复制到用户目录,然后更改属性X-GNOME-Autostart-enabled
。如果用户从列表中删除给定的应用程序,则会将.desktop复制到具有Hidden=true
属性的用户文件夹(如果该文件仅存在于用户目录中,则该文件将被删除)
用户和系统文件夹中的文件不需要标记为可执行文件。默认权限为644(rw-r – r–)。 .desktop
文件的可执行权限仅对桌面区域(工作区)中的启动器有用,因此它们会显示其图标并允许double-click启动应用程序。对于Dash,Launcher,Autostart和菜单,一般来说可执行位是无关紧要的。
次佳解决方案
我使用xfce
,我发现的是大多数系统相关的自动启动命令,如
power-managers, gnome-keyring, ubuntuone, blueman etc
存储在/etc/xdg/autostart
中,而大多数用户特定的自动启动位于
$USER/.config/autostart
您可以看看这两个地方。
第三种解决方案
在KDE,它在
〜/.kde /自动启动
这已被折旧,KDE Plasma现在遵循XDG规范。在/etc/xdg/autostart
中找到系统范围的启动目录,在~/.config/autostart
中找到用户特定的启动目录
我有一个脚本,启动Krusader:
#!/bin/bash
krusader &
不要忘记制作您将放入自动启动的脚本 – 可执行。