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

  

 

相关文章

LinuxSystemd服务(2021.07.09)目录LinuxSystemd服务(2021.07...
opidrvabortingprocessM002ospid(3561)asaresultofORA-600OR...
安装好haproxy后,配置正确无法启动,看日志:Feb1309:32:50clu...
Linux 系统与服务管理工具Systemd被曝存在3大漏洞,影响几乎...
一、systemd查看日志文件有隐藏 systemctlstatusSERVICE-l-...
不要在mp目录下保存文件,该目录会定期清理文件mp默认保存10...