树梅派系统自启动Qt桌面程序研究
base raspiberry pi-full-buster- 32位 自带桌面 版本
********** 测试可行
一、修改profile方式
效果说明:
• 可以进入tty
• tty1默认登陆
• tty7,切换到图形界面
1. 通过系统用户环境文件配置:.profile 和 .bashrc
- 进入系统的用户设置环境文件 ~/. profile
- 程序的最后面加入以下代码:
sleep 4
lxterminal
- 编辑.bashrc,最后加入:
/home/pi/local/RqtTest/start.sh &
start.sh 文件如下:
/home/pi/local/RqtTest/RaspiQt
- #RaspiQt:为自己编写的可执行Qt程序
- 重启系统,成功
2. 通过系统全用户环境文件配置:/etc/profile 和 /etc/bash.bashrc
与前面类似,只不过需要在/etc/profile 和 /etc/bash.bashrc两处修改即可
• 进入系统的用户设置环境文件 /etc/profile
• 程序的最后面加入以下代码:
sleep 4
lxterminal
- 编辑/etc/bash.bashrc,最后加入:
/home/pi/local/RqtTest/start.sh &
- 重启系统
二、修改rc.local方式-【推荐使用】
方案效果:
• 自带桌面系统,被设置的Qt桌面程序代替
• ctrl+alt+F1: 进入tty1控制台
• ctrl+alt+F2: 返回Qt桌面程序
• ctrl+alt+F7: 进入系统自带桌面,需要登陆
• 方案是基于raspiberry pi-full-buster- 32位版本自带带桌面 系统:2019-09-26-raspbian-buster-full.img
• raspiberry pi lite版本,即不带桌面raspbian系统,未进行尝试,但应该类似
自启动步骤如下:
1.1 rc.local 直接添加启动脚本
打开rc.local, 在exit 0 之前,添加如下:
export DISPLAY=:0 # 很重要,如果没有,该方式无法成功
X -s 0 dmps & # 很重要,如果没有,该方式无法成功,# 设置电源管理等选项 , -nocursor ,无鼠标
/home/pi/local/RqtTest/start.sh & #运行Qt程序启动脚本
start.sh 文件如下:
#!bin/bash
cd /home/pi/local/RqtTest && ./RaspiQt
#RaspiQt:为自己编写的可执行Qt程序
# 先cd 到程序目录,在./ 执行可执行Qt桌面程序文件
# 这样可以使Qt程序 可以找到可执行文件下的配置文件,否则会导致程序中采用相对路径时,读取不到可执行程序目录下的配置文件问题
1.2 解决全屏问题
上诉方式实现开机自启动后,还需要设置 xorg.conf来保证窗口铺满屏幕,此文件也很关键,需要将xorg.conf 复制到/etc/X11文件目录下
/etc/X11/
建立xorg.conf
文件,内容如下
Section "Device"
Identifier "Configured Video Device"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 30.0-62.0
VertRefresh 50.0-70.0
EndSection
#屏幕熄屏设置,设置屏幕常亮,此段代码用来设置屏幕常亮
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
#其它设置:分辨率设置
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection
将xorg.conf
拷贝到/etc/X11/
目录下,赋予可执行权限
chmod +x xorg.conf