Linux下添加自启动配置(ubuntu)
1.实验环境
1.主机环境: ubuntu20.04
2.目标板型号: 树莓派4B+
3.目标板系统: ubuntu
2.配置步骤
1. 创建系统配置启动的文件
sudo touch /etc/systemd/system/user_boot.service
注意: user_boot.service 这个文件名字可以随便起名只要不跟目录下的文件重复就行
2. 打开所创建的文件添加文件(可以在步骤1.中直接vim打开,添加完内容后 wq 退出)
sudo vim user_boot.service
添加如下:
[Unit]
Description=My user service
After=network.target
[Service]
ExecStart=/usr/bin/bash -u user_boot.sh
ExecReload=/bin/Kill -HUP $MAINPID
WorkingDirectory=/home/ubuntu/user_boot
Restart=on-failure
User=ubuntu
Type=simple
KillMode=process
[Install]
WantedBy=multi-user.target
保存并退出 (终端执行: wq )
3. 内容说明:
(1) After=network.target
这一行表示是这个服务是在网络服务启动之后执行
(2) ExecStart=/usr/bin/bash -u user_boot.sh
这一行添加需要启动执行的文件
(3) WorkingDirectory=/home/ubuntu/user_boot
这一行添加需要启动文件所在的目录位置
我这里放到了用户目录下,并且 (2) 中文件给写成了shell脚本,这样就可以做到启动板子,继网络功能启动之后,执行 (2) 中的脚本, 为了我自己修改的方便, 可以要把执行的应用程序放在这个用户脚本中
(4) 其他的具体参数请自行百度
(5) 修改保存完成之后,执行设置启动项
4. systemd 的命令
sudo systemctl daemon-reload //systemd 重新加载
sudo systemctl start user_boot.service //开启
sudo systemctl stop user_boot.service //停止
sudo systemctl restart user_boot.service //重启
sudo systemctl status user_boot.service //看logo与status
sudo systemctl enable user_boot.service //设置启动项
sudo systemctl disable user_boot.service //删除启动项
至此配置ubuntu启动项完成,之后根据我自己的设置就可以在 /home/ubuntu/user_boot/user_boot.sh 脚本中添加任意自己程序或命令