温馨提示×

Ubuntu如何自定义启动项

小樊
45
2025-12-25 16:45:31
栏目: 智能运维

Ubuntu 自定义启动项实用指南

一 常用方式与适用场景

  • 图形界面 Startup Applications:适合普通用户为当前桌面会话添加应用,操作最简单。
  • 用户级 autostart .desktop 文件:适合需要精细控制(名称、描述、延迟、隐藏)的桌面程序自启。
  • systemd 服务:适合守护进程、后台任务、需要网络/权限控制的程序,稳定且可管理。
  • 传统 rc.local 与 SysV 脚本:兼容旧项目或简单脚本,新系统可用但更推荐 systemd。

二 图形界面添加启动项 Startup Applications

  • 打开:在应用菜单搜索并打开Startup Applications(或使用命令:gnome-session-properties)。
  • 新增:点击Add,填写NameCommand(如:firefox)、Comment(可选),保存即可。
  • 延迟启动:在命令前加sleep N;(如:sleep 120; /usr/bin/myapp)实现N 秒延迟。
  • 适用:当前用户的图形会话;无需 root。

三 用户级 autostart 桌面文件

  • 创建文件:编辑**~/.config/autostart/yourapp.desktop**(文件名自定)。
  • 示例内容(按需修改 Exec 与延迟):
    [Desktop Entry]
    Type=Application
    Exec=/usr/bin/your_app
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name=YourApp
    Comment=Start YourApp on login
    
  • 延迟启动:将 Exec 改为**/bin/sh -c ‘sleep 10; /usr/bin/your_app’**。
  • 系统级:放入**/etc/xdg/autostart/**(对所有用户生效,需 sudo)。

四 systemd 服务实现自启(推荐用于守护进程与后台任务)

  • 创建服务文件:sudo nano /etc/systemd/system/myapp.service
  • 示例(按需修改 Description、ExecStart、User、After):
    [Unit]
    Description=My Custom App
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/myapp
    Restart=on-failure
    User=your_username
    Group=your_groupname
    
    [Install]
    WantedBy=multi-user.target
    
  • 启用与启动:
    • 重载配置:sudo systemctl daemon-reload
    • 开机自启:sudo systemctl enable myapp.service
    • 立即启动:sudo systemctl start myapp.service
    • 查看状态:sudo systemctl status myapp.service
  • 适用:需要后台常驻、依赖网络/权限、可监控与重启策略的任务。

五 传统方式与注意事项

  • /etc/rc.local(需系统启用 rc-local 服务)
    • 编辑:sudo nano /etc/rc.local,在exit 0前添加命令;确保首行**#!/bin/sh -e**并赋权:sudo chmod +x /etc/rc.local
    • 适用:简单脚本、早期初始化;在新版本中可用但更推荐 systemd。
  • SysV 脚本 + update-rc.d
    • 将脚本放入**/etc/init.d/**,赋权:sudo chmod 755 /etc/init.d/script
    • 加入启动:sudo update-rc.d script defaults 95(数字为启动顺序,越大越晚)。
    • 移除:sudo update-rc.d -f script remove
  • 登录时执行与交互程序
    • 将命令加入**~/.bashrc**会在每次打开终端时执行,非图形登录自启;不建议把图形程序放这里。
    • 需要图形界面自启请用Startup Applicationsautostart .desktop

0