有一个需求,基于python的多个代码文件,这多个文件比如分别是a.py, b.py, c.py, 以及一个最终的main.py, 上面3个py文件的产生的结果会在main.py代码中进行后处理以及最终的界面显示.
网上上给一些方法有:
(1)有修改这些环境配置文件文件来启动,/etc/profile、/etc/bash.bashrc、/.profile、/.bashrc,尝试后发现未解决问题
(2)在/etc/rc.local文件中加入启动命令,使用发现ubuntu20.04系统中找不到这个rc.local的文件,果断放弃
(3)编写.desktop文件,通过亲自实践,发现这个方法解决了问题,所有下面介绍这一种方法。
用上面第三种方法实现开启自启动,考虑的主要有以下几个步骤:
1.一个py文件运行所有的py脚本
考虑用subprocess,在一个py文件中运行上述的4个代码,比如用run_all.py一个文件可以一次性执行上述的a.py,b.py,c.py以及main.py
2.写一个.sh脚本
考虑在linux系统下进行自启动,感觉还是.sh文件更靠谱些
这个.sh文件执行上面的run_all.py
3.使用desktop进行开机自启动的设置
(1)创建desktop文件
在 /home/用户名/.config/autostart 创建一个.desktop文件
cd /home/用户名/.config/autostart
touch xxxx.desktop
(2) 编写.desktop
[Desktop Entry]
Name= #程序名字
Comment= #程序注释
Exec= #可执行文件的路径 这里注意用 sh xxxx.sh 而不要用 . / xxxxx.sh
Terminal= #是否打开终端 ,设置为true,机器重启开机后,将会自动打开一个终端
Type= #应用类型,常用有Application等
Icon= #图标,支持png 格式图片
Categories= #分类
Path= # 设置当前工作目录
X-GNOME-Autostart-enabled=true # 设置开机自启动
4. 开机密码关闭
因为是开机自启动,需要把开机密码给禁用掉,不然每次开机还要手动输入密码,只需要linux右上角的个人账号-->账号设置--->开启(自动登录) 即可