Manjaro 设置 rc.local 开机启动运行 root 脚本

tetsai
原创声明
本文由tetsai原创,转载请注明来源
我在上一篇帖子 https://tetsai.net/1045.html 已经写了,如何实现开机自动运行sh脚本
但是这仅限以当前登陆用户执行脚本,如果希望以root运行脚本又该怎么办呢?
众所周知,这个arch的系统是不支持rc.local的
倘若我们复活了rc.local 是不是就可以实现,开机以root执行了呢?
说干就干
复活rc.local
运行代码
# pacman -Sy systemd-rc-local # systemctl enable rc-local.service
第一行代码是安装rc.local的支持(其实就是给systemd创建个文件,只是这里更方便)
第二行代码是启用rc.local服务,这样下次开机就可以执行了
创建rc.local
但是这仅仅是实现了开机自动执行rc.local,如果这个文件不存在,也白搭啊
所以要创建rc.local这个文件
# touch /etc/rc.local # chmod 755 /etc/rc.local
创建文件并设置相关权限,然后编辑这个文件
# nano /etc/rc.local
这是cat的效果
[tetsai-pc tetsai]# cat /etc/rc.local #!/bin/sh mkdir /tmp/rc_done [tetsai-pc tetsai]#
这样开机就自动在tmp下以root权限创建一个文件夹 rc_done
看见这个文件夹就表示配置成功了.
然后在这个rc.local里添加自己想要执行的sh脚本即可.
请问这么配置后,脚本是在开机的哪个阶段启动呢?还是开机启动完成后再自动启动呢?
之前的教程https://tetsai.net/1045.html 是以普通身份运行开机的脚本,也就是说既然是普通身份,肯定要等普通用户到登录了,才会运行。
但此教程是以root身份运行的,linux只要开机,肯定先登录的用户就是root,所以它的运行时机,肯定是在开机后的某段时间,在用户登录计算机之前,就会运行。
啊也就是说在登录锁屏界面这脚本估计就已经运行了。