Ubuntu 16.04开机自启动程序设置全攻略

admin
Ubuntu 16.04开机自启动程序设置可通过多种方式实现:图形化操作最便捷,通过“启动应用程序”工具添加程序或编辑~/.config/autostart/目录下的.desktop文件;对于系统级服务,可修改/etc/rc.local文件(需确保文件有执行权限并添加exit 0);复杂服务推荐使用systemd,在/etc/systemd/system/创建.service文件,配置[Unit][Service][Install]段后通过systemctl enable管理,不同方法适用场景不同,图形化适合用户程序,systemd适合系统服务,rc.local适合简单脚本,用户可根据需求灵活选择。

在Ubuntu 16.04系统中,无论是服务器环境需要自动启动服务(如Nginx、数据库),还是桌面环境需要开机运行常用工具(如终端、脚本),设置开机自启动都能有效提升工作效率,本文将详细介绍Ubuntu 16.04中设置开机自启动的多种方法,涵盖图形界面、配置文件、系统服务等不同场景,帮助用户根据需求选择最合适的方案。

为什么需要设置开机自启动?

开机自启动的核心价值在于“自动化”:

  • 服务器场景:确保数据库、Web服务、监控工具等关键服务在系统重启后自动运行,避免人工干预。
  • 桌面场景:自动启动常用程序(如终端、文件管理器、脚本),减少重复操作,快速进入工作状态。
  • 开发环境:自动启动开发工具(如Docker、虚拟机、代码编辑器),简化开发环境初始化流程。

方法一:图形界面设置(适合普通用户)

Ubuntu 16.04桌面版提供了“启动应用程序”工具,通过图形界面即可轻松添加自启动程序,无需编辑命令,适合不熟悉命令行的用户。

Ubuntu 16.04开机自启动程序设置全攻略

操作步骤:

  1. 打开工具
    点击桌面左上角“应用程序”菜单,搜索并打开“启动应用程序”(Startup Applications)。

  2. 添加程序

    • 在弹出的窗口中,点击“添加”按钮。
    • 填写程序信息:
      • 名称:自定义名称(如“我的终端”),用于识别程序。
      • 命令:输入程序的启动命令(如gnome-terminal启动终端,/path/to/your/script.sh运行脚本)。
      • 注释:可选,添加说明文字(如“开机启动终端”)。
    • 点击“添加”保存。
  3. 管理启动项
    在“启动应用程序”列表中,可勾选/取消勾选程序来控制是否自启动,或选中后点击“删除”移除。

注意事项:

  • 命令格式:如果是图形界面程序(如Firefox、LibreOffice),直接输入程序名即可;如果是脚本或命令行程序,需确保路径正确(建议使用绝对路径),且若需后台运行,需在命令后添加&(如/home/user/script.sh &)。
  • 权限问题:若脚本需要管理员权限,需使用sudo(但图形界面下直接使用sudo可能存在权限限制,建议通过方法三或方法四处理)。

方法二:使用rc.local文件(适合简单命令)

rc.local是Linux系统中传统的开机自启动配置文件,允许用户在系统启动时执行自定义命令,在Ubuntu 16.04中,默认rc.local文件可能不存在或未启用,需手动配置。

操作步骤:

  1. 创建rc.local文件
    使用终端(Ctrl+Alt+T打开)执行以下命令创建文件:

    sudo nano /etc/rc.local
  2. 编写文件内容
    在文件中添加以下内容(需以#!/bin/bash -e开头,exit 0

    #!/bin/bash -e
    # 在此添加需要开机执行的命令
    echo "Starting my service..." > /var/log/rc.local.log
    /home/user/myscript.sh &  # 示例:运行脚本(后台运行)
    exit 0
    • 说明-e参数表示命令执行失败时脚本会退出;&让程序后台运行,避免阻塞启动流程。
  3. 设置文件权限

    sudo chmod +x /etc/rc.local  # 添加可执行权限
  4. 启用rc.local服务
    Ubuntu 16.04默认不自动加载rc.local,需创建systemd服务文件:

    sudo nano /etc/systemd/system/rc-local.service

    粘贴以下内容:

    [Unit]
    Description=/etc/rc.local Compatibility
    ConditionFileIsExecutable=/etc/rc.local
    After=network.target
    [Service]
    Type=forking
    ExecStart=/etc/rc.local start
    TimeoutSec=0
    RemainAfterExit=yes
    SuccessExitStatus=0 1
    [Install]
    WantedBy=multi-user.target

    启用并启动服务:

    sudo systemctl daemon-reload
    sudo systemctl enable rc-local
    sudo systemctl start rc-local

注意事项:

  • rc.local适合执行简单命令或脚本,若程序依赖复杂的环境变量或服务,可能无法正常启动。
  • 日志可通过cat /var/log/rc.local.log查看,排查问题。

方法三:使用systemd服务(推荐,适合服务/脚本)

systemd是Ubuntu 16.04的默认系统管理器,通过创建.service服务文件,可实现更精细的开机自启动控制(如依赖管理、重启策略等),是服务器和复杂场景的首选方法。

操作步骤:

  1. 创建服务文件
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码