私は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デバイスを簡単に選択できるグラフィックまたは単純なコマンドラインツールを識別する方が良いでしょう。 )
また、見ることができます
/proc/acpi/wakeup
一時停止中にマウスパッドとUSBを起動するには調整が必要です。gnome-power-manager
:2007年のUbuntuパッケージについて記録されたバグ理解する
/proc/acpi/wakeup
:2008年からubuntuforums.orgに投稿された投稿キーボードのキーを押して一時停止モードでUbuntuを再起動するには?:2010年以降superuser.comで回答されなかったUbuntuに関する質問
永久に変更するには
/proc/acpi/wakeup
?:2012年から始まったUbuntu Stack Exchangeに関する問題
答え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'"