在 Linux 系统中,/etc/xdg/autostart/ 目录用于存放系统级的自动启动项(.desktop 文件)。这些文件遵循 FreeDesktop.org 的规范,定义了应用程序在用户登录时自动启动的规则。
系统级 vs 用户级自动启动
系统级:/etc/xdg/autostart
影响所有用户,需管理员权限修改。
用户级:~/.config/autostart
仅影响当前用户,用户可直接编辑。
配置样例如下:
[Desktop Entry]
Type=Application
Name=my application name
Exec=/usr/bin/myapp
StartupNotify=false
X-GNOME-Autostart-enabled=true
.desktop核心字段说明
[Desktop Entry]
文件必须以此开头,表示这是一个桌面入口文件。
Type=Application
固定为 Application,表示这是一个应用程序启动项。
Name
应用程序的显示名称(可选,但对调试有帮助)。
Exec
(必填) 指定要执行的命令或脚本的完整路径。
支持参数,例如 Exec=/usr/bin/firefox %U。
使用绝对路径避免依赖环境变量。
Hidden
若为 true,则禁用该启动项(即使文件存在也不会执行)。
OnlyShowIn / NotShowIn
控制启动项在特定桌面环境中生效:
OnlyShowIn=GNOME;KDE;:仅在 GNOME/KDE 中生效。
NotShowIn=XFCE;:不在 XFCE 中生效。
X-GNOME-Autostart-enabled
特定桌面环境的扩展字段。例如,在 GNOME 中设置为 true 表示启用。
Comment
描述性文字(可选)。
StartupNotify
若为 false,禁用启动时的通知动画(如某些后台服务)。
Terminal
若为 true,应用程序会在终端中运行(适用于命令行工具)。