飞道的博客

Debian系列-开机启动程序

328人阅读  评论(0)

Debian系列-开机启动程序


关键字: 开机启动DebianLinuxprofileetc

内容背景:

最近项目终于切到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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场