由于项目需要,我得弄一个Ubuntu开机自启动的python程序,根据我之前的经验,我知道需要先写一个.sh文件,于是我在CSDN上搜索ubuntu18.04开机自启动sh脚本,起先我在ubuntu18.04开机自启动sh脚本运行roslaunch rosrun_ubuntu系统rosrun-CSDN博客
这位佬的博客上找到了灵感,我写了一个zed.sh文件,内容如下:
#!/bin/bash
cd yolov5-master
gnome-terminal -- /bin/bash -c "python3 detect_ZED.py; exec /bin/bash"
在sudo chmod 777 zed.sh获取权限后,我在终端打开
gnome-session-properties
在启动应用程序首选项里的“添加”添加了/home/agx/zed.sh的命令,准备让其开机自动在终端执行这条命令,起初我是在NVIDIA TX2上这样做的,是没问题的,但是半年后我需要在NVIDIA AGX ORIN上也整个类似的开机自启动文件,我还是按照在NVIDIA TX2一样的步骤,发现无论怎样试,都是失败的,并没有开机自启动。
然后我在CSDN上搜索,看到了这篇文章ubuntu开机自动运行.sh文件_ubuntu 自启动.sh-CSDN博客
我学习了一下,根据自己的情况更改了run.sh的内容,我改成了
#!/bin/bash
### BEGIN INIT INFO
# Provides: runDjango
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start runDjango
# Description: start runDjango
### END INIT INFO
#下面是你开机想自动运行的命令,现在下面的代码是我自己运行zed.sh脚本时候的命令
cd /home/agx/
./zed.sh
exit 0
因为我要运行自己的zed.sh嘛,结果我重启后还是不行,最后我在终端打开
gnome-session-properties
在启动应用程序首选项里的“添加”添加了/etc/init.d/run.sh的命令,再重启就可以开机自启动了。