当前位置: 首页 > news >正文

Debian系列-开机启动程序

头图

Debian系列-开机启动程序

文章目录

  • Debian系列-开机启动程序
    • 摘要
    • 1 修改/etc/profile
    • 2 输入密码,以管理员权限运行程序

关键字: 开机启动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下测试却不行,还是会闪一个桌面启动的画面,不过目前先这样,后期再想法优化吧。

image-20220921160532200

2 输入密码,以管理员权限运行程序

这里有个新的东西,那就是我的软件需要读取USB设备,在Linux下,要读取USB是需要管理权限的,所以这里多了一个以管理权限启动程序,目前的这种方式方式有个弊端,那就是一旦管理员修改了密码,那就需要重新修改脚本,不然就得GG了,但是呢,正常还有一个SID的方式,不过我测试失败了,这里就不做展示了,等研究明白了在分享,展示就先这么写吧

如果是正常启动,直接

 ./Thyroid

现在我们需要以管理员权限运行,那么就需要输入管理员密码

echo "123456" | sudo -S ./Thyroid

博客签名2021

相关文章:

  • Redis中的哨兵机制
  • Weda创建视图表格
  • C++类和对象概念及实现详解(下篇)
  • 第三十二章 数论——组合数详解(1)
  • 卡尔曼滤波器 预测 odom 里程计轨迹的代码
  • 海豚dolphinscheduler 通过shell 调用.sql文件 传参
  • JavaScript奇淫技巧:变速齿轮
  • Git常见问题总结
  • 初识Spring
  • 【踩坑记录】Electron+vue实现热更新
  • Python采集某网站m3u8内容,美女我来了~
  • VS code配置C语言环境
  • 【面试题】请你谈谈MySQL性能调优的方法
  • 自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效
  • 黑客比程序员高在哪里?
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript HTML DOM
  • Java精华积累:初学者都应该搞懂的问题
  • mac修复ab及siege安装
  • mysql中InnoDB引擎中页的概念
  • Python学习之路16-使用API
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端技术周刊 2019-01-14:客户端存储
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 让你的分享飞起来——极光推出社会化分享组件
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 怎样选择前端框架
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • kubernetes资源对象--ingress
  • 说说我为什么看好Spring Cloud Alibaba
  • ​Spring Boot 分片上传文件
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # include “ “ 和 # include < >两者的区别
  • #stm32整理(一)flash读写
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (003)SlickEdit Unity的补全
  • (pojstep1.1.2)2654(直叙式模拟)
  • (分布式缓存)Redis分片集群
  • (转) ns2/nam与nam实现相关的文件
  • (转载)Linux网络编程入门
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET DataGridView数据绑定说明
  • .net FrameWork简介,数组,枚举
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET命名规范和开发约定
  • .Net语言中的StringBuilder:入门到精通
  • .net中生成excel后调整宽度
  • @Controller和@RestController的区别?
  • @Documented注解的作用
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现