私のラップトップがスリープから再開すると、wifi接続は再開されず、端末からSudo service network-manager restart
を使用して毎回ネットワークマネージャーを手動で再起動する必要があります。
それを行うスクリプトがありましたが、PCが適切にスリープ状態から復帰できなかったため、削除する必要がありました。
システムの再開時にその再起動コマンドを実行するスクリプトを/etc/pm/sleep.d/
ディレクトリ(または15.10+を実行している場合はおそらく/lib/systemd/system-sleep/
ディレクトリ)に作成できるはずです。そのスクリプトを実行可能にしてください。
これらのコンテンツを使用して、上記のディレクトリにnetwork_restart
ファイルを作成します。
case "${1}" in
resume|thaw)
Sudo service network-manager restart
;;
esac
Sudo chmod +x network_restart
Ubuntu 16.04のsystemd
の場合、${1}
の "pre"(サスペンド)および "post"(再開)引数も考慮する必要があります。そのため、再起動はafterシステムを中断します。
また、sleep
を追加して、ネットワークスキャンを完了するのに十分な時間を与える必要がありました(私の推測)。
$ Sudo cat /lib/systemd/system-sleep/network-manager-restart
#!/bin/sh
set -e
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
case "$1" in
post) sleep 10 ; systemctl restart network-manager ;;
esac
fi
詳細については、以下を参照してください。 https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html
システムのサスペンドおよび/または休止状態に入る直前に、systemd-suspend.service(およびそれぞれ他の言及されたユニット)は/ usr/lib/systemd/system-sleep /内のすべての実行可能ファイルを実行し、2つの引数を渡します。最初の引数は「pre」で、2番目は選択したアクションに応じて「suspend」、「hibernate」、または「hybrid-sleep」です。システムのサスペンドやハイバネーションを終了した直後に同じ実行可能ファイルが実行されますが、最初の引数は「ポスト」になりました。このディレクトリ内のすべての実行可能ファイルは並行して実行され、すべての実行可能ファイルが終了するまでアクションの実行は継続されません。