Linux cli:ノートブックカバーが閉じたときにスリープモードを無効にする

Linux cli:ノートブックカバーが閉じたときにスリープモードを無効にする

Debianベースのディストリビューション(antix)にsystemdがなく、デスクトップ環境もありません。ノートブックカバーを閉じたときに一時停止して一時停止ボタンを操作するのではなく、空の画面(または無効な画面)のみを表示させるにはどうすればよいですか?

答え1

ふたを完全に無効にしてください。

まず、ふたスイッチの経路を探す必要があります。これは、ウェイクアップ機能を持つプロセスのリストを確認することによって行うことができます。

cat /proc/acpi/wakeup

出力では、ラインの1つはふたに対応し、次の出力と同じように見えます(同じことができます)。

LID0      S3    *enabled   platform:PNP0C0D:00

カーネルレベルでカバースイッチを完全に無効にするには、unbindカーネル機能を使用できます。 (PNP0C0D:00ふたに対応するパスにパスを変更してください):

echo 'PNP0C0D:00' | sudo tee /sys/bus/acpi/drivers/button/unbind

カバーが実際に無効になっていることを確認したら、起動時に実行するように/etc/rc.localコマンドを追加するだけです。

カバーを閉じると画面が消えます。

udev別のイベント(画面無効)をトリガーするには、1つのイベント(ふた)のルールを指定する必要があるため、これはより複雑です。

まず、ノートブック内のディスプレイパスを見つける必要があります。ディスプレイ全体を有効/無効にする前に、バックライトの明るさ制御をテストすることをお勧めします。

バックライト制御へのシステムパスがあり、ほとんどのノートブックには以下を介してアクセスできます。cd /sys/class/backlight/*/

sysfsフォルダ内には、次のような制御ファイルのリストが表示されます。

./actual_brightness
./bl_power
./brightness
./max_brightness
./power/async
./power/autosuspend_delay_ms
./power/control
./power/runtime_active_kids
./power/runtime_active_time
./power/runtime_enabled
./power/runtime_status
./power/runtime_suspended_time
./power/runtime_usage
./scale
./type
./uevent

deviceおよびディレクトリパスなどpowersubsystem

、現在の設定と範囲の最大制限と一致する必要がありますbrightness。次のような他の値を使用して提供することで、ノートブックディスプレイ自体の明るさを制御できる必要max_brightnessがあります。echo

echo "100" | sudo tee /sys/class/backlight/*/brightness

明るさ制御が実際にcliで期待どおりに機能すると確信したら、もう一度報告してください。適切な udev ルールをトリガーするためにカバーを閉じるイベントを監視する方法を説明します。

答え2

これも簡単に設定できますsystemd。これArch Linux Wikiよくまとめると、次のようになります。

systemd一部の電源関連 ACPI イベントを処理します。そのイベントの動作は、/etc/systemd/logind.confまたはで設定できます/etc/systemd/logind.conf.d/*.conf。参考login.conf(5)。専用の電源マネージャを持たないシステムでは、通常、これらのACPIイベントに応答するために使用されるacpidデーモンを置き換えることができます。

HandleLidSwitchHandleLidSwitchDocked設定ファイルに設定されていることを確認してくださいHandleLidSwitchExternalPowerignore

古いですが、同様の回答/質問を参照してください。ふたスイッチの動作を無視する方法は?

関連情報