no-image

Linuxでスリープ(サスペンド)が勝手に解除されてしまう問題の対応策

ノートPCにUbuntuやDebianなどをインストールしていると
スリープを行う機会が多々あると思います。

ところがせっかくスリープ(サスペンド)状態にしておいても
マウスの操作やBluetoothのオンオフといった
ちょっとした操作によってスリープ状態がすぐに解除されてしまう現象に悩まされてる人も多いのでは?

今回はその対応策をメモ代わりに記事にしていきます。

スリープ(サスペンド)からすぐに復帰してしまう現象の対応策

まずはLinux側のスリープに関する設定を確認しておきましょう。

cat /proc/acpi/wakeup | grep enable

恐らくですが複数の項目がenableになっている事を確認できると思います。

このうちLID0以外の項目を無効化する事によって
思わぬスリープからの復帰を制限する事が可能です。

Unitを作成

以下のコマンドは自分が参考にした記事からの引用です。
少しアレンジを加えているので大元のコマンドを確認したい方は参考記事のリンクから飛んでください。

まずはUnitファイルを作成

sudo vim /etc/systemd/system/suspendfix.service

起動時にLID0以外の項目が無効化されるように設定しておく

[Unit]
Description=fix to prevent system from waking immediately after suspend

[Service]
ExecStart=/bin/sh -c ‘/bin/echo XHC > /proc/acpi/wakeup’
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=graphical.target

最後に上記のサービスが自動起動されるようにコマンドを打ち込んでおきましょう。

sudo systemctl enable suspendfix.service

あとは再起動すれば設定が反映されます。

 

参考記事:Kubuntu::サスペンドから勝手に復帰してしまう件