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

操作步骤:
-
打开工具:
点击桌面左上角“应用程序”菜单,搜索并打开“启动应用程序”(Startup Applications)。 -
添加程序:
- 在弹出的窗口中,点击“添加”按钮。
- 填写程序信息:
- 名称:自定义名称(如“我的终端”),用于识别程序。
- 命令:输入程序的启动命令(如
gnome-terminal启动终端,/path/to/your/script.sh运行脚本)。 - 注释:可选,添加说明文字(如“开机启动终端”)。
- 点击“添加”保存。
-
管理启动项:
在“启动应用程序”列表中,可勾选/取消勾选程序来控制是否自启动,或选中后点击“删除”移除。
注意事项:
- 命令格式:如果是图形界面程序(如Firefox、LibreOffice),直接输入程序名即可;如果是脚本或命令行程序,需确保路径正确(建议使用绝对路径),且若需后台运行,需在命令后添加
&(如/home/user/script.sh &)。 - 权限问题:若脚本需要管理员权限,需使用
sudo(但图形界面下直接使用sudo可能存在权限限制,建议通过方法三或方法四处理)。
方法二:使用rc.local文件(适合简单命令)
rc.local是Linux系统中传统的开机自启动配置文件,允许用户在系统启动时执行自定义命令,在Ubuntu 16.04中,默认rc.local文件可能不存在或未启用,需手动配置。
操作步骤:
-
创建
rc.local文件:
使用终端(Ctrl+Alt+T打开)执行以下命令创建文件:sudo nano /etc/rc.local
-
编写文件内容:
在文件中添加以下内容(需以#!/bin/bash -e开头,exit 0:#!/bin/bash -e # 在此添加需要开机执行的命令 echo "Starting my service..." > /var/log/rc.local.log /home/user/myscript.sh & # 示例:运行脚本(后台运行) exit 0
- 说明:
-e参数表示命令执行失败时脚本会退出;&让程序后台运行,避免阻塞启动流程。
- 说明:
-
设置文件权限:
sudo chmod +x /etc/rc.local # 添加可执行权限
-
启用
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服务文件,可实现更精细的开机自启动控制(如依赖管理、重启策略等),是服务器和复杂场景的首选方法。
操作步骤:
- 创建服务文件:
在

