Ubuntu 开启自启动脚本以及带图形界面脚本(imshow())

https://blog.csdn.net/weixin_41957211/article/details/122513556

 

二、带图像界面的自启动脚本
一开始以为这种脚本和一般脚本一样,直接用rc.local这种系统服务自启即可,在自启动运行摄像头显示程序时,运行不成功,用 sudo systemctl state rc-local 查询状态也看不出个所以然,我就一段一段注释,发现是 cv.imshow()这个函数引起的程序崩溃。网上有说法是rc.local 是在桌面加载之前启动的。于是新建一个用户服务
1、新建 /usr/lib/systemd/user/imgshow.service

cd /lib/systemd/user/			#切换路径
sudo gedit imgshow.service		#新建编辑service文件

  将下列代码复制进去

[Unit]
Description=imgshow demo                    # 服务名字为imgshow
[Service]
Type=forking                               # 该服务为后台运行
ExecStart=/usr/bin/imgshow.sh              #开始方式为执行imgshow.sh
[Install]
WantedBy=multi-user.target                 # 多用户

  2、建立 /usr/bin/imgshow.sh文件 要执行的骄傲本

cd /usr/bin/                                                                      
sudo gedit imgshow.sh   

  复制下列代码进入

#!/bin/bash                                                     
#shell脚本必须包含的解释器路径
#以下添加自己的启动命令
echo mypassword|sudo -S python3 /home/mypath/videotest.py &   #获取root权限运行videotest.py

  3、更改权限

sudo chmod +x /lib/systemd/user/imgshow.service
sudo chmod +x /bin/usr/imgshow.sh

  4、启用服务并建立软连接

ln -s /lib/systemd/usr/imgshow.service /etc/systemd/system/  
sudo systemctl enable imgshow
sudo systemctl start imgshow.service

  

 

上一篇:centos查看系统配置信息


下一篇:Ubuntu使用dnsmasq自建dns服务