一,需求
Qt开发的GUI程序,部署到树莓派中,并设置开机自启。
二,步骤
1,制作启动脚本和停止脚本。
我们需要编写两个脚本,来启动和停止我们的应用。这里假设我们的应用名称为test。
#启动脚本
#!/usr/bin/env bash
#设置环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/test
cd /usr/test
#启动主程序
./test
#停止脚本
#!/usr/bin/env bash
ID=` ps -ef | grep test | grep -v grep | awk '{print $2}'`
for id in $ID
do
kill -9 $id
done
2,制作安装脚本
我们需要编写一个脚本用于安装qt打包后的程序,也就是整个文件夹。脚本的作用就是将文件夹拷贝到指定的位置。
比如我们的程序在test文件夹内,内部含有完整的Qt应用程序及依赖库,我们在同级目录下创建一个安装脚本 install.sh。
#!/usr/bin/env bash
Install_App() {
echo "installing test ..."
target=$1
if [ x$target == x'' ]; then
echo "please input parameter 1 for target path"
exit
fi
sudo /usr/test/stop.sh
sleep 1
if [ ! -d "$target" ]; then
sudo mkdir $target
fi
cp -a test/* $target/
#sudo chown -R root:root $target
}
if [ $UID -ne 0 ]; then
echo "Is not superuser,please use sudo "
exit
else
ROOT_PATH=/usr/test
Install_App $ROOT_PATH
echo "Install completed !"
reboot
fi
3,系统的设置
这里有两种方式。
(1),sudo vim /etc/xdg/lxsession/LXDE-pi/autostart
#@lxpanel --profile LXDE-pi
#@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
@sudo /usr/test/start.sh
(2),
- 在/home/用户/.config下创建autostart 的文件夹
- 在 autostart 目录下新建my.desktop
- 编辑 my.desktop
[Desktop Entry]
Name=AICounter
Comment=AICounter
Exec=sudo /usr/test/start.sh
Terminal=false
MultipulArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=ture
三,树莓派的一些配置