起動時にブロードバンド接続を開始するスクリプトがあり、サスペンドからの再開時に開始するようにします。
私のスクリプトは/usr/local/bin/start_my_connection
です
を含む:
#!/bin/sh
sleep 10
nmcli nm wwan on
nmcli con up id "reber connection"`
systemd
を使用して実行するにはどうすればよいですか?
次の2つのアプローチから選択できます。
/lib/systemd/system-sleep/
ディレクトリの使用:00start_my_connection
という別のスクリプトを作成します。
#!/bin/sh
if [ $1 = post ] && [ $2 = suspend ]
then /usr/local/bin/start_my_connection
fi
$1
は、履歴書/解凍時に「投稿」、それ以外の場合は「事前」です。いずれの場合も、$2
には「suspend」、「hibernate」、または「hybrid-sleep」のいずれかが含まれます。休止状態からの解凍時にもスクリプトを実行する場合は、&& [ $2 = suspend ]
を省略します。
chmod a+x 00start_my_connection
を使用して、このスクリプトが実行可能であることを確認してください
を使用してこのスクリプトを/lib/systemd/system-sleep/
に移動します
Sudo mv 00start_my_connection /lib/systemd/system-sleep/
ファイル/etc/systemd/system/start_my_connection.service
を作成します。
[Unit]
Description=Run start_my_connection
After=suspend.target
#After=hibernate.target
#After=hybrid-sleep.target
[Service]
ExecStart=/usr/local/bin/start_my_connection
[Install]
WantedBy=suspend.target
#WantedBy=hibernate.target
#WantedBy=hybrid-sleep.target
休止状態からの解凍時にスクリプトも実行する場合は、すべての行のコメントを解除します。次に、次を使用してサービスファイルをインストールします。
Sudo systemctl enable start_my_connection.service
01myscript
ディレクトリにファイル/etc/pm/sleep.d/
を作成します。
そのファイルの内容は次のとおりです。
#!/bin/bash
case $1 in
thaw|resume) /usr/local/bin/start_my_connection
;;
esac
そのスクリプトを実行可能にします:Sudo chmod +x /etc/pm/sleep.d/01myscript
。
停止してみてください