困扰了一天的时间,终于解决,好了,废话不多说,直接上干货。
一、创建rc.local文件
sudo vim /etc/rc.local
#!/bin/sh -e
#如果运行不了的话试试把第一行的sh改为bash
# rc.local
#
echo "自启动成功" > /usr/local/test.log
# 这里写要自动运行的命令或者脚本
#上面echo命令是运行创建普通文件信息,与QT图形界面无关,下述命令为运行程序命令
#举例:bash /home/path/to/my/application/start.sh &
#/home/path/to/my/application/这个是你想要运行的程序路径,最后一定要加上&表示程序
exit 0
附图,让大家更理解:
添加可执行权限:
sudo chmod +x /etc/rc.local
如果在里面运行了脚本记得给脚本也添加可执行权限(在脚本所在文件夹下打开终端)
sudo chmod +x start.sh
二、建立rc-local.service文件
sudo vim /etc/systemd/system/rc-local.service
输入如下内容:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
User=当前用户(hjx)
Environment=DISPLAY=:0
[Install]
WantedBy=graphical.target
继续附图:
保存后退出
三、启动服务查看启动状态
如果这里启动失败了需要回头更改rc.local文件看看是不是有语法错误或者执行的脚本有没有问题
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
如果启动一切无误且状态正常的话使能开机自启动
sudo systemctl enable rc-local.servic
附图
如果查看状态和我一样的话,就说明程序启动成功了
四、重启
电脑重启后就会自动执行,跳出QT图形运行界面 ,成功!