关于jetson nano上开机自启动shell脚本程序的设置问题
近日在做视觉相关的开发学习时,需要用到jetson去开机自启动一个shell脚本,并运行py程序。但是找遍全网也没有找到正确的设置方法。经过一番学习与查找,发现setup application里的设置是有问题的,特记录下来。
设置方法
首先创建一个脚本文件,用于运行里面的程序或者py脚本。最好放在桌面,放在其他位置也行,就是在setup application里设置启动程序指令会需要带上绝对路径。 touch /home/jetson/xxx.sh 脚本里可以放字符打印测试或者其他脚本程序。创建完文件后需要赋予脚本文件可执行的属性。 sudo chmod 777 xxx.sh 查看文件属性 ls -l xxx.sh 查看整个文件夹里的属性 ls -l 之后打开搜索框搜索setup application 点击add,name:Start,command如下 gnome-terminal --command "bash xxx.sh" 之前查的很多博主都是用的下面这条指令 gnome-terminal /home/jetson/xxx.sh 我试了好几次都不行,terminal一直会闪退,用ps查看进程都没有shell在运行。完成设置后,重新启动,查看脚本运行情况 sudo reboot
出现的问题及解决办法
failed to execute child process(permission denied)
这是由于文件属性的问题,需要修改为可运行属性 sudo chmod +x xxx.sh
xxx.sh:找不到文件
这是由于文件的绝对路径的错误,需要区分的是绝对路径和相对路径。我们一般用的是相对路径如 ~/project/tensorrt_demos/yolo_camera.sh 而绝对路径是 /home/jetson/tensorrt_demos/yolo_camera.sh 这是需要区分的。 END
