2021年6月2日
最近做个项目想在Ubuntu系统实现程序自启动。
查阅了很多资料发现都是修改rc.local或其他开机登陆配置文件,可用但操作略复杂,在这里分享一个简单的办法。

方法

注意:以下xxx代指用户名

一、准备.sh文件内容如下(输入touch autostart.sh创建):

cd /dev                                  #进入dev
echo "密码" | sudo -S chmod 777 ttyUSB0  #这个当时要用串口ttyUSB0写的,可以修改
cd /home/xxx/Desktop/sample             #进入项目所在名为sample文件夹
./main                                  #运行程序

在终端用./autostart.sh或其他方法检验脚本文件,如果出现找不到.sh文件的情况原因如下:
(一)、.sh文件路径错了,检查一下.sh文件路径。
(二)、autostart.sh权限有问题,用chmod u+x autostart.sh设置为可执行文件,在所在目录下用./autostart.sh检查运行,可运行后进入下一步。

二、终端输入gnome-terminal -- /home/xxx/autostart.sh确保脚本在终端正常运行且路径正确

常见问题

1、如果上面命令报错,那么用“- x”代替“- -”,即gnome-terminal -x /home/xxx/autostart.sh
2、找不到.sh文件就是路径没写对或者脚本.sh不是可执行文件,修改下路径或权限即可。
3、如果出现terminal一闪而过,修改下terminal设置:
在terminal点右键,选择Profiles->Profile Preferences,找到Title and Command ,里面有一项when command exits,选择Hold the terminal open就行了。

三、终端输入 gnome-session-properties

输入命令后点击add,第一行名称随便写。
第二行命令输入gnome-terminal -- /home/xxx/autostart.sh ,即第二步的命令。
第三行注释随便写,点击 save保存后关闭。

然后大功告成!!!

但对Ubuntu系统开机需要登录密码的机子来说要打开自动登录(右上角设置,unlock之后开启automatic login就可以了)。
拓展发现:输入命令sudo passwd -d xxx ,其中xxx为用户名,然后发现登录确实不要密码了,但进不去root了,输啥都一直提示密码错误,进不去root。
这种情况下终端运行passwd xxx,就可以重新修改密码了,但是不能设置特别简单的密码。(只在此特殊情况下有用,其他需要root权限)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐