首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
Oracle
›
Linux体系开机自启动配置
返回列表
发新帖
Linux体系开机自启动配置
[复制链接]
发表于 2025-7-4 07:28:51
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
方法一:使用 /etc/rc.local
配置
特点:启动时间晚于内核初始化,在体系服务启动完成之后实验,简单、快速部署
场景:适用于启动必要网络或体系服务的脚本(服务脚本、后台使命、shell 脚本)以及没有图形界面的
服务器
环境
注意:新版 systemd 体系默认不启用该文件,没有重启策略,不得当崩溃恢复,无法准确控制依赖项或用户权限
编辑 /etc/rc.local 文件
sudo vim /etc/rc.local
复制
代码
在文件中 exit 0 前面添加体系自启动的下令(按启动顺序,可根据实际需求放置在合适位置)
#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
...
# 在此处添加你需要自启动的命令
exit 0
复制
代码
假如没有 /etc/rc.local 则手动创建该文件,并添加以下内容
#!/bin/sh
# 在此处添加你需要自启动的命令
exit 0
复制
代码
给文件添加可实验权限,重启体系验证
sudo chmod +x /etc/rc.local
sudo reboot
复制代码
特殊情况(
配置
文件不生效)
查看体系是否设置了 rc-local 服务
ls /etc/systemd/system/rc-local.service
复制代码
假如不存在,则手动创建 rc-local.service 文件
sudo vim /etc/systemd/system/rc-local.service
复制代码
在 rc-local.service 文件中添加以下内容,生存退出
[Unit]
Description=/etc/rc.local Compatibility
After=network.target
[Service]
Type=oneshot
ExecStart=/etc/rc.local
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
复制代码
启用 rc-local.service 服务
sudo systemctl enable rc-local.service
sudo systemctl start rc-local.service
复制代码
方法二:使用 Systemd 服务
特点:现代 Linux 体系推荐的标准自启动方式,控制粒度细,支持启动顺序、用户身份、自动重启等,可靠性高、日记清晰、支持依赖管理
场景:适用于后台服务、守卫进程(Web服务、
数据库
、定时使命、守卫脚本),需保证高可靠性和可维护性,多用户、
容器
、生产环境推荐
注意:脚本/程序必须有实验权限,Systemd 不会剖析 Bash 的变量、管道、重定向符号
创建一个新的systemd服务单元文件,通常放置在/etc/systemd/system/目录下
sudo vim /etc/systemd/system/myprogram.service
复制代码
在 myprogram.service 文件中写入以下内容
[Unit]
Description=My Program
After=network.target
[Service]
ExecStart=/path/to/your/program
Restart=no
User=teamhd
[Install]
WantedBy=multi-user.target
# 参数说明:
# ExecStart:指定程序的路径
# Restart:设置程序崩溃后重启,always表示总是重启,no表示脚本只运行一次
# User:指定运行该服务的用户(teamhd/root)
复制代码
生存并退出编辑器,使服务文件生效并设置开机自启动,重启验证
sudo systemctl daemon-reload
sudo systemctl enable myprogram.service
复制代码
方法三:使用 autostart
配置
特点:由桌面环境(GNOME/LXQT/XFCE)在用户图形会话启动时剖析 .desktop 文件并启动应用
场景:适用于桌面环境中用户图形程序,必要在开机后自动打开某些窗口的程序
注意:无法在无头
服务器
上使用,不适用于体系服务或 CLI 程序
创建 autostart 文件夹(假如没有的话),然后在文件夹中创建一个新的桌面启动项
sudo mkdir -p ~/.config/autostart
sudo vim ~/.config/autostart/chromium.desktop
复制代码
在桌面启动项文件中写入以下内容,然后生存退出,重启体系验证
[Desktop Entry]
Name=My Program
Exec=/path/to/your/program
Type=Application
X-GNOME-Autostart-enabled=true
Comment=This is my program
# 参数说明:
# Name:给程序起一个名字(可自定义)
# Exec:指定要启动的程序的完整路径
# Type:设为Application表示启动的程序是一个应用程序
# X-GNOME-Autostart-enabled:设置为true表示启用该应用的自启动
# Comment:可选的程序描述
复制代码
.desktop文件可以通过图形化的文件管理器来管理,也可以直接办动编辑(非必须操作)
# 如果程序需要传递参数或有特定环境设置,可以在Exec字段中加入相应命令。例如:
Exec=sh -c "export VAR=value && /path/to/your/program"
复制代码
方法四:使用 Startup Applications 配置
特点:本质是配置 autostart 的 .desktop 文件,但通过 GUI 工具设置,对桌面用户友好
场景:适用于桌面环境用户个人配置,平凡用户使用 GUI 程序开机自启
注意:只适用于桌面环境,无法处置惩罚体系级服务或后台程序,不得当运行复杂程序或体系服务
假如使用的是图形界面的Ubuntu
版本
,可以通过“启动应用程序”工具来设置开机自启动
# 打开“启动应用程序”工具
# 在应用程序菜单中搜索Startup Applications或启动应用程序
# 在弹出的窗口中,点击“添加”按钮
# 填写程序的名称、命令和可选的描述:
- Name: 给程序取个名字
- Command: 输入程序的路径,例如/path/to/your/program
- Comment: 可选描述,说明程序用途
# 点击“添加”后,程序将在开机时自动启动
复制代码
方法五:使用 ~/.bashrc 配置
特点:在用户每次登录打开交互式
终端
(如 gnome-terminal、xterm)时,shell 自动实验 .bashrc
场景:适用于简单下令行程序、脚本,登录
终端
后自动设置环境或启动工具,快速测试自动实验的代码片段
注意:不等于开机自启,只在打开
终端
时生效,会导致多个终端窗口重复实验程序,不得当服务或必要自动运行的应用
假如是通过终端运行程序,并盼望在每次登录时自动启动,可以在~/.bashrc中添加启动下令
sudo vim ~/.bashrc
复制代码
在文件末尾添加启动下令
/path/to/your/program &
复制代码
回复
使用道具
举报
返回列表
浏览过的版块
SQL-Server
分布式数据库
SAAS
我可以不吃啊
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表