USBキーボードまたはマウスを使用してサスペンド状態をどのように起きることができますか?

USBキーボードまたはマウスを使用してサスペンド状態をどのように起きることができますか?

私はArch LinuxでGNOME 3.36.6を使用しています。デフォルトでは、GNOMEの自動サスペンドオプションは有効になっており、期待どおりに機能します。ただし、コンピュータをサスペンド状態で起動するには、電源ボタンを押す必要があります。 Windowsでデフォルトで動作するUSB​​キーボードを使いたいです。

これLinuxカーネルのドキュメントでは、/sys/devices/.../power/wakeupファイルがどのように保存されるかを説明しています。デバイスがシステムにウェイクアップ信号を送信するかどうかを制御します。文書によると:

ほとんどのデバイスでは、電源/ウェイクアップファイルの初期値は「無効」です。主な例外は電源ボタンです。鍵盤、ethtoolを使用してWake on LAN(WoL)機能が設定されたイーサネットアダプタ。

私のシステムではそうではありません。を実行すると、grep . /sys/bus/usb/devices/*/power/wakeupすべてのUSBデバイスがウェイクアップが無効になっていることがわかります。問題を発見しましたワイヤレスUSBキーボードまたはマウスを使用して一時停止状態から目覚めさせる(すべてのLinuxディストリビューションで動作)Ubuntu Stack Exchangeでは、正しいデバイスを識別し、/sys/bus/usb/devicesそれを使用して/etc/rc.local起動時に正しい設定を適用する方法について説明します。

これらすべては非常に複雑で覚えにくく、エラーが発生しやすいです。/etc/rc.local落胆Debian、Ubuntu、Arch、Fedoraなどのシステムベースのディストリビューション。この問題を調べると、古いアドバイス(2015年にsystemdがデフォルトの初期化システムになる)がたくさん見つかるだけでなく、停止自体が破損する長年の問題も発見されました。 2020年現在、GNOMEにはWindowsでUSBウェイクアップのためのユーザーフレンドリーな構成が不足しているようです。デバイスハードウェアのプロパティの電源管理タブで

最新のシステムベースのLinuxディストリビューションで特定のUSBキーボードまたはマウスウェイクアップを有効にする最も簡単で信頼性の高い方法は何ですか?

(これ一時停止と休止状態のArch Linux Wikiページ/sys/devices/.../power/wakeup適切なファイルを自動的に設定することは答えかもしれませんがsystemd-tmpfiles、広く使用されているディストリビューションにパッケージ化され、正しいUSBデバイスを簡単に選択できるグラフィックまたは単純なコマンドラインツールを識別する方が良いでしょう。 )

また、見ることができます

答え1

書いて降りる

 echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
 echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
 .....................................................

スクリプトでUbuntuに尋ねて追加してみてください。ルートのクローンタブ

答え2

最良の方法はBIOSを設定することです。

数年前にこれをしましたが、キーボードとうまく機能しました。私はマウスで成功したことはありませんが、BIOSによって異なります。

しかし、私にとっては、キーボードの任意のキーを押すとシステムが目覚めます。オペレーティングシステムがセッションに入るときにパスワードが必要かどうかを設定できます。

答え3

1つの回避策は、udevルールを使用してUSBベンダーと製品IDに基づいてスリープモード解除を有効にすることです。たとえば、/etc/udev/rules.d/usb-wake.rules次のコンテンツを含むファイルを追加します。

ACTION=="add", ATTR{idProduct}=="c542", ATTR{idVendor}=="046d", \
    RUN="/bin/bash -c 'echo enabled > /sys%E{DEVPATH}/power/wakeup'"

関連情報