ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

NVIDIA Xavier(Ubuntu18.04)配置开机自启动脚本Python程序

2021-11-23 14:32:06  阅读:274  来源: 互联网

标签:sudo service Python NVIDIA etc sh rc 自启动 local


1. 开机自启动方法一

1 可执行文件脚本.sh文件来放置运行python文件的命令

  1. 可以直接在桌面上创建
cd Desktop
touch demo.sh
  1. 在文件中写入以下内容,path为程序绝对路径
#!/bin/bash
#command content
python3 /path/main.py
exit 0
  1. 给.sh加权限
chmod a+x demo.sh

2. 在 /etc/profile 这个文件中,添加shell脚本文件路径

  1. 打开profile文件
sudo vi /etc/profile
  1. 在文件的最后一行插入demo.sh路径
/path/demo.sh
  1. 由于我的Python程序需要调用串口发送数据,所以要给串口加权限,name为自己用户名
sudo usermod -a -G dialout name #name为自己用户名

注意:这个方法在Xavier可以直接启动执行Python程序,PC机中是否可以没有尝试

2. 开机自启动方法二

  1. 编辑rc.local.service并添加[Install]内容:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
  1. 如果你之前是在/etc/systemd/system/rc-local.service下,请先rm掉,否则系统运行可能无法自启动程序
sudo rm /etc/systemd/system/rc-local.service
  1. 启用自启动服务,并查看服务状态,显示activate则启动成功
sudo systemctl enable rc.local.service  #启动服务
sudo systemctl status rc-local.service  #查看服务状态

如果不想使用自启动了执行以下命令关闭服务即可,显示inactivate 即关闭成功。

sudo systemctl daemon-reload  #如果修改了rc-local.service文件,则需要用sudo systemctl daemon-reload重新加载
sudo systemctl stop   rc-local.service  #关闭服务
sudo systemctl start  rc-local.service  #开始服务
sudo systemctl status rc-local.service

注意:关闭服务后,要想重新开启服务需要重新删除rc-local.service(根据实际情况,选择是否删除),执行sudo rm /etc/systemd/system/rc-local.service ,再启用服务,每次启用服务都会重新生成rc-local.service

  1. 在/etc/文件夹创建rc.local文件,并加权限
sudo touch /etc/rc.local
sudo chmod 777 /etc/rc.local

备注: chmod 755加权限(设置记录,可以忽略)

  • 一般是三个数字:第一个数字表示文件所有者的权限;第二个数字表示与文件所有者同属一个用户组的其他用户的权限;
    第三个数字表示其它用户组的权限。
  • 权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
  • 所以,chmod 755
    设置用户的权限为:1.文件所有者可读可写可执行;2.与文件所有者同属一个用户组的其他用户可读可执行;3.其它用户组可读可执行
  1. 在rc.local文件中,写入要启动的内容
#!/bin/bash -e  

# rc.local

#自己添加的启动脚本
bash /home/nvidia/Desktop/demo.sh

exit 0
  1. 在demo.sh文件写入的内容
#!/bin/bash
 
python3 /home/nvidia/Desktop/main.py 
exit 0

注意:我使用第二个方法时,测试简单的Python程序,可以使用。但是,我自己的项目需要调用串口和网络摄像头,程序运行到这一步报错。第一个方法调用串口和网络摄像头,可以正常执行,但是程序在运行1分钟会闪退。

3. 要给Xavier设置自动登陆

打开设置
点击 User Accounts
将自动登陆开启即可

参考文献

https://blog.csdn.net/weixin_38369492/article/details/110631329

标签:sudo,service,Python,NVIDIA,etc,sh,rc,自启动,local
来源: https://blog.csdn.net/x_w_haohan/article/details/121473833

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有