現在、ラップトップのopenSUSEでGNOMEを実行しています。GNOMETweakツールには、蓋を閉じたときにサスペンドを有効にする設定があります。これは機能します。ただし、逆のことをしたいので、ふたを閉めたときにコンピューターが停止しないようにしますが、ふたを開くと、コンピューターがまだ起動していない場合は起動します。
ふたを閉じる際のサスペンドの無効化は、このサイトおよび他のSEサイトで十分にカバーされています。質問の特定の部分に関するQ&Aのリストは次のとおりです。
ふたが開いたときのアクションを設定する際に、これもいくつかの質問でカバーされています。
私が始めるアプローチは、ハードウェアのAPCIイベントを利用します。この特定のアプローチでは、openイベントでトリガーされるスクリプトを作成します。
/etc/acpi/lid.sh
次に、次の内容のファイルを作成する必要があります。
$ cat /etc/acpi/events/lm_lid
event=button/lid.*
action=/etc/acpi/lid.sh
次に、次のような方法でACPIサービスを再起動します。
$ service acpid restart
この操作を実行するために使用できるスクリプトには多くのバージョンがあります。 1つあります ここにそのようなスクリプト 。
このスクリプトの要点は次のようなものです。
#!/bin/bash
grep -q close /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then
echo close>>/tmp/screen.lid
fi
grep -q open /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then
echo open>>/tmp/screen.lid
fi
このスクリプト内では、/proc/acpi/wakeup
でLIDまたはLID0デバイスを切り替える必要があります。これを行うと、LIDデバイスが切り替わります。
$ echo "LID" > /proc/acpi/wakeup
したがって、上記のスクリプトでは、/proc/acpi/wakeup
をチェックして、有効か無効かを確認します。無効になっている場合は、上記のecho "LID" ...
を実行します。それ以外の場合は、何も実行しません。