• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
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

mkdir /lib/systemd/user/			#切换路径
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、启用服务并建立软连接

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

  删除

sudo rm -rf /etc/systemd/system/imgshow.service

 

posted on 2022-02-16 01:43  MKT-porter  阅读(448)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3