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
里的命令执行了,每次开机也是自动执行的。