Debian系列-开机启动程序
关键字:
开机启动
、
Debian
、
Linux
、
profile
、
etc
内容背景:
最近项目终于切到Linux下开发了,所以最近的记录都是发生在
Debian 10
以及Arm Debain 10
下,Qt
版本5.12.3
。这几天真是问题多多,收获满满,不过目前阶段仅仅停留在解决问题,至于原理性的东西,还得慢慢消化。最近好多问题都是直接群里问大神,感谢各位大神助我成长。
摘要
这不,程序已经移植的差不多了,现在就是想让他开机自己启动了,这里记录一下。
参考资料如下https://blog.csdn.net/lang523493505/article/details/122304582
1 修改/etc/profile
之前搞树莓派的时候,用的就是这个方法,所以这里我还是用这个方法。所有代码如下:
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
cd /opt/Thyroid/bin
echo "123456" | sudo -S ./Thyroid
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
export PATH
if [ "${
PS1-}" ]; then
if [ "${
BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
核心代码如下,其实写这里,还有一个好处就是可以卡开机桌面,但是我在虚拟机里面测试可以,但是在研华的4710下测试却不行,还是会闪一个桌面启动的画面,不过目前先这样,后期再想法优化吧。
2 输入密码,以管理员权限运行程序
这里有个新的东西,那就是我的软件需要读取USB设备,在Linux下,要读取USB是需要管理权限的,所以这里多了一个以管理权限启动程序,目前的这种方式方式有个弊端,那就是一旦管理员修改了密码,那就需要重新修改脚本,不然就得GG了,但是呢,正常还有一个SID的方式,不过我测试失败了,这里就不做展示了,等研究明白了在分享,展示就先这么写吧
如果是正常启动,直接
./Thyroid
现在我们需要以管理员权限运行,那么就需要输入管理员密码
echo "123456" | sudo -S ./Thyroid
转载:https://blog.csdn.net/z609932088/article/details/128467886
查看评论