Linux Mintでサスペンド機能を無効化する方法

Linux

需要はあまりないと思いますが、今回はサスペンド機能を無効化する方法を備忘録として書き残していきたいと思います。

環境は Linux Mint 22.1 “Xia” MATE Edition です。

systemctl mask を使ってサスペンドを無効化する

恐らく最もシンプルな無効化方法だと思います。以下のコマンドだけで簡単にサスペンド機能を無効化できます。なお、シャットダウンメニューにある「サスペンド」の項目も消えます。

$ sudo systemctl mask sleep.target suspend.target hybrid-sleep.target

もしサスペンド機能を再度有効化したくなった場合は、以下のコマンドを入力します。無効化時に消えたシャットダウンメニューにある「サスペンド」の項目も復活します。

$ sudo systemctl unmask sleep.target suspend.target hybrid-sleep.target

実際に無効化されたかどうか確認する

以下のコマンドを入力して画像のように「Call to Suspend failed: Access denied」と赤文字でエラーが出れば、無事サスペンド機能が無効化されています。

$ sudo systemctl suspend

PolicyKit を使ってサスペンドを無効化する

この手法では、GUIからのサスペンドのみ無効化可能です。

まず、PolicyKit がインストールされていない場合はインストールします。

$ sudo apt -y install polkitd-pkla

/etc/polkit-1/localauthority/50-local.d ディレクトリがない場合は作成します。

$ sudo mkdir -p /etc/polkit-1/localauthority/50-local.d

以下のコマンドを実行すれば、GUIからのサスペンド機能が無効化されます。また、シャットダウンメニューからも「サスペンド」の項目が消えます。

$ echo '[Disable suspend]'$'\n''Identity=unix-user:*'$'\n''Action=org.freedesktop.upower.suspend;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions'$'\n''ResultActive=no'$'\n' | sudo tee /etc/polkit-1/localauthority/50-local.d/disable-suspend.pkla

サスペンド機能を再び有効化するには、以下のコマンドで先程作成した com.linuxmint.disable-suspend.pkla を削除すればOKです。

$ sudo rm /etc/polkit-1/localauthority/50-local.d/disable-suspend.pkla

参考にさせていただいたサイト様

Ubuntu 16.04/16.10でサスペンドを無効にする - Sickly Life Blog
Ubuntuでは画面右上の歯車っぽいアイコンをクリックするとログアウトとかシャットダウンとかが出来るようになっているが、ログアウトとシャットダウンの間にサスペンドがあって、稀に間違えてクリックしてしまってイラッとしたことがあったのでサスペン...
polkit - ArchWiki
Linuxでサスペンドとハイバネーションを無効にする方法

コメント