USB 入力でサスペンドからレジュームさせないには
多くの Linux ディストリビューションの初期設定では,サスペンド中にも USB の入力を検出しており,サスペンド中にマウスを動かしたりキーボードに触れたりすると,自動的にサスペンドから復帰してしまいます。
デスクトップ PC をお使いで机の上がきれいに片付いている方には便利な機能かもしれませんが,モバイルマシンをお使いの場合や,あるいは単に机の上が混沌としている場合には,ただ血圧が上がるだけの機能です。
幸いこの検出は無効化することができますので,その手順を紹介します。
この設定のための設定ファイルはないようであり,/proc/acpi/wakeup に対象となるバスの名前を書き込む形で設定ができます(少々奇妙な仕様ですが,書き込みのたびにそのバスについての設定のオンオフが切り替わります。デフォルトではオンなので,1回だけ書き込めばオフになるわけです)。以下では,その作業をするスクリプトがシステムの起動時に自動実行されるようにします。
# nano /usr/local/bin/earplug
以下をコピペして保存してください。
[raw]
#!/bin/sh
echo EHC1 > "/proc/acpi/wakeup"
echo EHC2 > "/proc/acpi/wakeup"
echo XHCI > "/proc/acpi/wakeup"
[/raw]
そしたら,実行権限を付与します。
# chmod +x /usr/local/bin/earplug
次に systemd のサービスファイルを作ります。同じ要領でコピペしてください。正直詳しくないので最適な書き方ではないかもしれません。詳しい人教えて。
# nano /etc/systemd/system/earplug.service
[Unit]
Description=For a better sleep...
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/local/bin/earplug
[Install]
WantedBy=multi-user.target
最後にサービスを有効化して完成です。
# systemctl enable earplug.service
古めのカーネル(Debian だと Stretch とか)では「XHCI」でなく「XHC」の文字列を使っていたりするので,適宜修正してください。その判別も含め,詳しい情報は以下で得られます。
$ cat /proc/acpi/wakeup
あまりによく使うので Gitlab にもアップしています。ご覧の時点でこの記事の情報が古い場合は,こちらを確認すると最新の仕様にキャッチアップされているかもしれません。
なんだか前にも書いたような気がしないでもないですが,どうやら書いていないようなのでメモしておきます。
投稿にあたり,完全な IP アドレスが保存されます(公開されません)。
コメントはスパムフィルタで処理され,承認後に公開されます。