银河麒麟踩坑笔记——sh文件设置开机自启

本文记录了在银河麒麟操作系统中实现QT程序开机自启的困难经历,包括尝试修改rc.local和profile文件失败,以及由此引发的系统问题。最终,通过创建.desktop文件和.local文件成功实现了开机自启,同时详细介绍了实现步骤。
摘要由CSDN通过智能技术生成

背景: 

在上一篇打包好QT程序后,项目还要求做成自动开机自启,于是再一次开始摸索如何开机自启。原本我以为是项很小很简单的工作,没想到在银河麒麟下如此艰难,甚至搞崩了两次系统,差点重装。

踩坑的方法:

一、通过修改/etc/rc.local文件来实现通过脚本开机自启,具体可参考类似的文章,如

https://blog.csdn.net/qq_41985134/article/details/121182623https://blog.csdn.net/qq_41985134/article/details/121182623

        这种方法我尝试过,但是不知道为什么,echo语句生成文件可以成功,但是就是执行不了sh脚本文件。修改后直接运行可以执行sh文件,但是开机时echo语句生成文件可以触发,但是就是出不来sh脚本文件,最终放弃。

二、通过修改/etc/profile文件实现开机自启(该方法一定要谨慎!)

  • 我在寻找其他攻略的时候看到一篇修改profile文件的文章,通过
sudo vim /etc/profile

在其末尾加入

cd xx/xx/xx/
./xx.sh

然后重启机子,用户登录后会发现,可以开机自启sh脚本文件了!

但是!关闭qt程序后发现会报一个系统的错,并且桌面打不开,终端也打不开。最终进入TTY模式将profile文件中新增的代码删去才恢复正常(如何通过TTY模式修改可参考下一篇)

  • 恢复正常后我又尝试其他方法,反正大不了坏了还可以利用TTY模式补救。随后又看到一篇,在/etc/profile.d/文件夹内放置脚本文件,开机会自动触发。于是我写了一个简单的脚本,通过其触发打包好的脚本,重启后可以自启QT程序!而且关闭后没有报错!

但是关闭后系统会立刻返回到登录界面,循环往复根本进不了桌面。于是我进入TTY模式尝试恢复,输入密码后在半秒内报错,又返回到输入用户的地方,用手机录视频慢放发现会报错导致重置。

最终解决办法是进入单用户模式,在跳过用户登录的情况下,删除了profile.d文件夹内新放进去的脚本。

成功的方法:

该方法使用desktop文件,和网上其他方法不太一样,通过local文件代替sh文件,因为不知道什么原因sh文件平时可以执行,开机无法自动执行。

1.首先找个位置新建一个xxx.local文件,其内容如下

#!/bin/sh
cd /home/qilin/桌面/package/
./xxx.sh
#中间这一段就是脚本的内容,可自行填写
exit 0

该local文件的功能可以理解为sh文件

2.右键local文件,属性——权限——可执行勾选,打开终端输入sudo chmod +x xxx.local

3.然后新建xxx.desktop文件,其内容如下

[Desktop Entry]
Name=xxx    //此处写文件名
Exec=/home/qilin/xx.local    //此处写上一步创建的local文件的路径
Icon=/home/qilin/桌面/package/icon.png    //此处是图标样式,可用default
StartupNotify=false
Terminal=false
Type=Application
Categories=Network;
StartupWMClass=generalstartup

4.右键该desktop文件,属性——权限——可执行勾选

5.终端输入

sudo chmod +x xxx.desktop
sudo mv xxx.desktop /usr/share/applications/

6.这时打开左下角的系统菜单,可以找到该desktop文件出现在软件列表内。点击系统设置——系统——开机启动——添加自启动程序,将该desktop文件选中即可实现开机自启

  • 12
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值