web-dev-qa-db-ja.com

ふたを開けて目を覚ましますが、ふたを閉じて吊るしませんか?

現在、ラップトップのopenSUSEでGNOMEを実行しています。GNOMETweakツールには、蓋を閉じたときにサスペンドを有効にする設定があります。これは機能します。ただし、逆のことをしたいので、ふたを閉めたときにコンピューターが停止しないようにしますが、ふたを開くと、コンピューターがまだ起動していない場合は起動します。

1
SamRob85

ふたを閉じる際のサスペンドの無効化

ふたを閉じる際のサスペンドの無効化は、このサイトおよび他の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

/etc/acpi/lid.sh

この操作を実行するために使用できるスクリプトには多くのバージョンがあります。 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" ...を実行します。それ以外の場合は、何も実行しません。

参考文献

3
slm