Linux 开机运行shell脚本
因为我的树梅派每次开机时都不需要提示输入密码就直接进入桌面了,这样老觉得心里不踏实,想着既然能进系统后执行命令锁屏,那就肯定可以开机的时候运行一个锁屏脚本命令啊,于是乎就自己开干了起来,系统锁屏命令是 /usr/bin/dm-tool lock ,那就想着在开机时直接运行这条命令就行啊,想想这么简单的事情,居然花费了我一上午的研究,还是太年轻,对Linux不是很懂,泪奔 ^&&^,Linux开机运行命令不同于 Win,windows开机运行的话可以在启动文件夹下,注册表中,任务计划里都行,下面是我入坑的具体情况
编写shell脚本文件:
a. 在终端输入 vim lock.sh 进入脚本编辑
b. lock.sh 文件内容如下:
#/bin/sh /usr/bin/dm-tool lock
c. 输入完成后保存退出,给脚本文件添加执行权限 sudo chmod 777 lock.sh
d. 测试刚写的脚本,输入 ./home/pi/lock.sh 后回车,发现可以锁屏了,喜出望外,啧啧 ^^~!~^^
将脚本开机运行方案:
1)向 rc.local 文件中写入启动代码
a. 在命令终端输入 vim /etc/rc.loacl
b. 在打开的文件中找到 exit 0;在此之前的代码启动前都会被执行,在 exit 0 之前添加一段代码 /usr/bin/dm-tool lock
c. 修改完后保存退出,直接输入 reboot 进行重启,但是发现重启完成后并没有锁屏需要输入密码,而是直接进入桌面了,很尴尬!!!
2)通过桌面启动
此方法是在加载了桌面后再启动我们自定义的程序,因此需要安装带有桌面的版本,如果不是请跳过;在/home/pi/.config/目录下新建一个名为 autostart 的文件夹
a. 创建 sutostart 文件夹,输入命令 mkdir .config/autostart 我这里提示我已经有这个文件夹了,如果有这个文件请忽视这步
b. 在 autostart 目录下新建 lock.desktop (名称任意,但后缀必须是.desktop)输入命令: vim .config/autostart/lock.desktop
c. lock.desktop 文件内容如下:
[Desktop Entry] Type=Application Name=lock NoDisplay=true Exec=/home/pi/lock.sh
d. 输入完成后保存文件退出,输入 reboot 进行重启
e. 可以发现这个方法可行,开机进入后就锁定屏幕需要账户认证了
可以发现在这么一个小问题上花费了这么长的时间,主要还是对Linux不是很熟悉,而且都是靠自己摸索过来的,学习的道路上虽然很苦很累,但是收获成功的果实也算是对自己付出的一种安慰吧!成长吧,骚年,追梦。。。。。