本人目前没有深入了解过自启动,对于简单要求及启动一个程序可参考本篇文章。
参考:ubuntu设置程序开机自启动_ubuntu开机自启动-优快云博客
工具:Ubuntu22.04
可以使用两种不同的办法:一种借用Ubuntu自带的图形界面【启动应用程序】;另一种在终端中进行,启动systemd服务。
一、使用Ubuntu自带工具(简单上手)
在应用界面中找到【启动应用程序】,点击

进入界面

点击添加之后,设置启动程序的名称(随便,没有用),以及指定的启动程序路径,例如👇

之后重启即可。
不需要时记得取消勾选。
二、使用systemd服务(终端操作)
首先找到/etc/systemd/system
在该目录下创建一个以.service为后缀的文件,文件名自取
之后在文件中写入需要的功能,例如
[Unit]
Description=Server
After=network.target
[Service]
User=ena
WorkingDirectory=/home/ena/project/build
ExecStart=/home/ena/project/build/Project
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
部分功能注释👇,有更多要求可以看我开篇引出的文章,写的很详细
[Unit]
Description:服务名称,随便起
Before:在某个条件进行前启动程序
After:在某个条件运行后启动程序
network.target:网络模块启动
[Service]
User:填系统上自己的用户名
必要时还可以指定用户等级,防止部分插件无法使用导致自启动失败/崩溃
WorkingDirectory:启动程序所在目录
ExecStart:启动程序径直目录
Restart:设置进程,退出后的重启方式:
always:程序结束后总是重启
on-failure:仅在运行失败后重启
RestartSec:距下一次重启程序延时,单位s
保存后打开终端
依次输入下列指令
#加载服务
sudo systemctl daemon-reload
#启动服务
sudo systemctl enable ser.service
sudo systemctl start ser.service
#查看服务状态
sudo systemctl status ser.service
#停止服务
sudo systemctl stop ser.service
sudo systemctl disable ser.service
执行完sudo systemctl status ser.service后,终端显示

即脚本启动成功!
接下来重启就可以了。
最后记得关闭自启动

最后祝我的PSL宝宝天天开心!ヾ(≧∪≦*)ノ〃

8291

被折叠的 条评论
为什么被折叠?



