Arch Linux Systemd自启动脚本
systemd与以往的方式不同,需要用服务来实现自启动,所以要先创建一个服务,在服务中加入需要开机启动的脚本。
在写启动脚本之前,需要创建一个service:
-
切换用户到root:
然后进入/etc/systemd/system目录,创建一个.service文件。名称可以自定义,本例中为AutoExec.service。设置权限:
chmod 644 AutoExec.service -
添加以下内容到
AutoExec.service:[Unit] Description=AutoExec [Service] ExecStart=/root/AutoExec.sh [Install] WantedBy=multi-user.target上面的
ExecStart=/root/AutoExec.sh表明开机会执行/root/AutoExec.sh,那么命令写在这里面就行了。当然,文件是可以任意指定的,改为/etc/rc.local之类的都没问题。 -
连接到
multi-user.target.wants:ln -s AutoExec.service multi-user.target.wants/(注:这一步是为了让这个服务开机自启动,效果和
systemctl enable命令是等价的)或者直接使用:
systemctl enable AutoExec.service(推荐直接使用
systemctl来实现service自启) -
创建
/root/AutoExec.sh:向里面写入想要开机启动的命令,并设置权限:
chmod 744 /root/AutoExec.sh(文件路径和文件名可随便改,但一定要添加可执行权限)
以上就是设置的全过程,运行systemctl start AutoExec.service试试吧,就能看到AutoExec.sh里的命令执行了,每次开机也是自动执行的。