最近よく使うので簡単にメモします。
私の環境
Ubuntu 20.04(WSL)
手順
/etc
に rc.local
というファイルを作成する
sudo vim /etc/rc.local
rc.local
の中身はシェルスクリプトで、ここに実行したいプログラムを書く。
(shebangも書かないとうまくいかないらしい)
#!/bin/bash # 例: docker-composeの起動 cd /my/work/dir sudo docker compose up -d
rc.local
はrootにのみ全権限を付与
sudo chmod 700 /etc/rc.local
systemdへの登録
sudo systemctl start rc-local
その後
sudo systemctl status rc-local
でactiveになっていたら設定完了
WSLの場合
WSLの場合、ここで
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
というエラーがでることがあります。
この場合は、/etc/wsl.conf
に
[boot] systemd=true
と書いてwslを再起動すればsystemdが動くようになるみたいです。