0%

树莓派开机自动启动GUI程序

有多种开机自启用户脚本命令的方法,可以参考:https://www.jianshu.com/p/86adb6d5347b

但是那都是在登录用户前的阶段启动的,而 GUI 程序,比如 Qt 需要依赖于桌面和各种服务,所以不能使用那些方法。

开机自启 Qt 程序的方法,可以参考:

https://blog.csdn.net/dubuzherui/article/details/52846166

用树莓派上用Qt进行图形界面开发,发现无法自动启动程序,找了好多方法都是不行。网上都是讲怎么启动脚本的,但是脚本的启动与图形程序是不同的。

树莓派开机启动流程:自动登录–>自动启动窗口–>自动运行用户程序

脚本程序可以在自动启动窗口这一步之前运行,但是用户程序是不行。下面来看一下怎么启动用户程序:

进入当前用户HOME目录下的.config目录(这是一个隐藏目录,需用ls -a显示出来)
cd /.config
当前用户是pi, 其HOME目录是/home/pi, 上述命令相当于
cd /home/pi/.config
建立一个名为autostart的子目录,并进入该目录
mkdir autostart
cd autostart
生成一个*.desktop文件(比如:my.desktop),命令如下:
sudo nano my.desktop
输入以下文件内容:
[Desktop Entry]
Type=Application
Exec=Path
最后一句Exec的值就是要启动的程序名(最好是全路径的可执行文件名),然后重启即可。
原理:startx后,LXDE窗口管理器会找到
/.config/autostart目录下的所有 .desktop文件,一一执行
把上述全部串起来,就是一上电:自动登录-自动启动窗口-自动运行程序

再隐藏下任务栏和更换壁纸,开机后基本不会让使用者看到多余的内容。

注意:Exec 的值必须是个应用程序或者脚本,如果是多条命令的话,必须用放在一个脚本内,然后 Exec 来运行这个脚本。

注意:从 2017 年后,Raspbian 不再使用 PIXEL 替换 LXDE 作为桌面环境。

http://shumeipai.nxez.com/2016/10/24/raspbian-pixel-desktop-coming.html

注意:如果有多条命令,应该放在一个 shell 脚本内,然后 *.desktop 的 Exec 设置为这个脚本去执行

注意:如果没有 expand filesystem,可能会比较卡顿。

坚持原创技术分享,您的支持将鼓励我继续创作!