使用systemctl添加开机启动项

如果想要将某些程序添加到开机启动中,对于各种 Linux 发行版而言自带的方法千奇百怪,还有很多方法随着更新也已失效。不过由于目前各大发行版都预置或支持了 systemctl,使用 systemctl 配置开机启动项可以保证较好的兼容性,迁移也比较方便。

systemctl 的配置文件一般存放在 /etc/systemd/system/ 下面。假设现在要添加一个开机自启的脚本 /home/example/startup.sh,那么我们可以:

  1. nano /etc/systemd/system/startup.service
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    2. 添加如下内容:

    ```plaintext
    [Unit]
    Description=Startup Service
    After=network.target

    [Service]
    Type=simple
    User=<your username>
    NoNewPrivileges=true
    ExecStart=bash /home/example/startup.sh
    Restart=always

    [Install]
    WantedBy=multi-user.target
  2. Ctrl+S保存然后 Ctrl+X退出。

  3. 输入

    1
    systemctl enable startup.service
  4. 添加完成。