lubuntu 19.04 の起動時にスクリプトを実行して VPN に接続する (rc.local と crontab の問題)

lubuntu 19.04 の起動時にスクリプトを実行して VPN に接続する (rc.local と crontab の問題)

私はLinux初心者で、Lubuntu 19.04で仮想マシンを作成する方法を知りたいです起動時に自動的にVPNに接続する私が選んだVPNはプロトンVPNそして接続するにはこのコマンドを実行する必要があります

protonvpn c -f

このコマンドsudo権限で実行する必要がある、だから私はそれを置こうとした/etc/rc.local ディレクトリスタックオーバーフローの複数のスレッドで見たようにファイル rc.local が存在しない手動で作成して設定しようとしましたが、効果はありませんでした

たとえそれが適切な使い方ではないとわかっていても、私はルートフォルダのcrontabを変更する、 順番にコマンドにsudo権限を与える次のコマンドを使用します:

crontab -e

最後の行を次のように変更します。

@reboot bash /home/lubuntu/Documents/on_boot.sh

どこブートローダスクリプトであり、すでに実行可能として設定しています次の行が含まれます:

protonvpn c -f

その後、仮想マシンを再起動してIPアドレスを確認すると、毎回デフォルトのIPアドレスになっているので、動作しません

理由はわかりません。私の英語が下手で、用語が正確でなかったらごめんなさい。

答え1

サービスを作成することをお勧めします。その標準的な実装は上記にあります。

1- 上記のコードを使用して、「/etc/systemd/system/protonvpn.service」の下にサービスを作成します。

[Unit]
Description=Service for proton vpn

[Service]
User=root
ExecStart=/home/lubuntu/Documents/on_boot.sh
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

2- ディスクから新しい構成を再ロードします。

sudo systemctl daemon-reload

3- サービスを有効にして、systemdが起動したら開始するようにします。起動した:

sudo systemctl enable protonvpn

4- 起動してステータスを確認するプロトンVPNサービス :

sudo systemctl start protonvpn
sudo systemctl status protonvpn

関連情報