Ubuntu起動時に実行するプログラムを設定する方法
Ubuntu起動時に任意のシェルスクリプトを実行させる手順です。
シェルの作成と権限の付与
- 起動時に実行したい.shファイルをユーザホーム直下に作成する
- .shファイルに実行権限を付与する
sudo chmod +x ./setup_xxx.sh
サービスファイルの作成
-
/etc/systemd/system/
にサービスファイルを作成する
以下はサンプル、ExecStart
に実行する.shファイルを記述する
service-name.service[Unit] Description=My Custom Service After=local-fs.target [Service] Type=simple ExecStart=/path/to/your/setup_xxx.sh [Install] WantedBy=multi-user.target
[Service]に
Restart=always
を指定すると、サービスが停止してもサービスを再起動する - サービスファイルに自動起動設定を行う
sudo systemctl enable service-name.service
- Ubuntuを再起動する
その他
サービスが起動中か確認する
sudo systemctl status service-name.service
サービスが自動起動状態か確認する
enabled
が表示されれば、自動起動状態です。
sudo systemctl is-enabled service-name.service
サービスファイル更新
サービスファイルを更新したら、以下のコマンドを実行する。
sudo systemctl daemon-reload
自動起動状態を停止する
sudo systemctl disable service-name.service