私は何時間か、あるいはそれ以上の解決策を探していましたが、それを見つけました。みんなと共有したいです。この方法では、この問題をグーグルで調べて、より迅速に解決策を見つけやすくなります。したがって、タイトルが言うように、以下が解決策です。
ターミナルでヒット:
grep . /sys/bus/usb/devices/*/power/wakeup
その結果、私にとっては、すべてのUSBが無効になっていることがわかりました。だから今、入力:
1。
Sudo su
これでルート特権があります。
2. 8個のusbポートがあります(所有しているusbポートの数だけこれを行います)、したがって:
echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup
さあ、それをテストしてください。これで、ワイヤレスまたは有線のUSBキーボードとマウスから起動できます。
そのため、すべてを有効にする必要がある理由は、次のステップで、これをrc.localに記述して、再起動するたびにコマンドを実行し、再起動後に一部のLinuxディストリビューション(すべて)でusbポートを変更するためです。 Linuxがサスペンドまたはハイバネーションになっているため、すべてを有効にすることで問題が発生しても心配する必要はありません。wifiを使用して何かをダウンロードすることはできません。意図的にそれを上げます。
次のステップ:
3。
Sudo nano /etc/rc.local
そしてそこにステップ2のすべてを貼り付けます(もちろん出口0の前)。
それでおしまい。これからは、ワイヤレスUSBとマウスを使用して、サスペンドから復帰できます。
皆さんの役に立つことを願っています。このガイドは、インターネット上で可能な他のすべてのソリューションをテストした後に作成されました。
上記のガイドに加えて、この情報を追加したいと思います。最近、スリープから復帰した後にワイヤレスusbデバイスが無効に戻ったことを発見したためです。繰り返しますが、すべてではなく、一部のUSBデバイスがそれを行います。そのため、この小さなガイドをガイドに追加しませんでした。
上記の指示どおりに実行すると、PCは正常に起動しますが、その日のうちに突然起動することはありません。
解決:
ターミナルを開いて実行します:
lsusb
キーボードデバイスID情報では、最初の4桁がベンダーIDで、次の4桁が製品IDです(スクリーンショットを参照)
次は:
Sudo nano /etc/udev/rules.d/10-wakeup.rules
「ウェイクアップ」には、希望するスクリプト名を入力します。番号10は、他の多くのudevルールがある場合の優先順位です。番号が小さいほど、「ルール」は他のルールよりも先に実行されます。
これをコピーして貼り付け、ベンダーIDと製品IDを独自のワイヤレスキーボードベンダーIDと製品IDに置き換えます。
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"
* usb8は私のワイヤレスキーボードです(スクリーンショット(Bus 008)でも確認できます)。
Ctrl + O 保存する 、 Ctrl + X 終了して再起動します。
Pavlos Theodorouの答えは非常に役立ちます。 dmesgからgrepを数回、次にegrepを1回、最後にtailを使用して、最新のエントリであることを確認します。
この方法を使用すると、do n'tでウェイクを有効にする必要がありませんALL usbポート。
/etc/rc.localファイルに以下を追加すると、USBポートから別のポートに移動しても、毎回Logitechレシーバーが検出されます。 「Logitech K270」の代わりにdmesgのyourキーボードまたはマウスの名前に置き換えるだけです
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
これはブート時に機能しますが、サスペンドからの復帰時に実行されないようです。そのため、スクリプトファイルを/ lib/systemd/system-sleep /に配置する必要がありました。作成し、グローバルに実行可能として設定し、00から99の間の2桁の数字で始まる名前を付けます。私のスクリプトは次のようになります。ここでもyour dmesgのキーボード/マウスの言葉:
#!/bin/sh
# Action script to enable wake after suspend by keyboard or mouse
if [ $1 = post ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
if [ $1 = pre ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
なんらかの理由で説明できませんが、「post」スリープifステートメントは、他のすべてのウェイクアップでのみ機能します...しかし、「pre」スリープifステートメントは毎回機能するようです。
上記の答えのどれも私を助けませんでした。だからここに自分のブログを投稿します。
Ubuntu 18.04ベースのKDEネオン5.16.2でテストされていますが、どのディストリビューションでも動作するはずです。
grep . /sys/bus/usb/devices/*/product
次のようなものを取得する必要があります。
/sys/bus/usb/devices/3-3/product:Cord Optical Mouse /sys/bus/usb/devices/3-4.3/product:802.11n WLAN Adapter /sys/bus/usb/devices/3-4.4/product:USB Receiver /sys/bus/usb/devices/3-4/product:USB2.0 Hub /sys /bus/usb/devices/4-4/product:USB3.0 Hub /sys/bus/usb/devices/usb1/product:EHCI Host Controller /sys/bus/usb/devices/usb2/product:EHCI Host Controller /sys/bus/usb/devices/usb3/product:xHCI Host Controller /sys/bus/usb/devices/usb4/product:xHCI Hostコントローラ
grep。/sys/bus/usb/devices/*/power/wakeup
結果は次のようになります。
/sys/bus/usb/devices/1-1/power/wakeup:disabled /sys/bus/usb/devices/2-1/power/wakeup:disabled /sys/bus/usb/devices/3-11/power/wakeup:disabled /sys/bus/usb/devices/3-3/power/wakeup:enabled /sys/bus/usb/devices/3-4.4/power/wakeup:disabled /sys/bus/usb/devices/3-4/power/wakeup:disabled /sys/bus/usb/devices/4-4/power/wakeup:disabled /sys/bus/usb/devices/usb1/power/wakeup:disabled /sys/bus/usb/devices/usb2/power/wakeup:disabled /sys/bus/usb/devices/usb3/power/wakeup:disabled /sys/bus/usb/devices/usb4/power/wakeup:disabled
私の場合、ウェイクアップは、前述のリストによると「Cord Optical Mouse」であるUSBデバイス3-3でのみ有効になっています。
サスペンドからのウェイクアップをワイヤレスキーボードに対してのみ有効にし、それ以外は無効にします。キーボードUSBレシーバーはHUBに接続され、前のリストの「3-4.4」に対応します(「USBレシーバー」)。
ルート権限を取得するには:
Sudo su
次に、スクリプト用のファイルを作成します(ファイルは「usbwakeup」または必要に応じて記述できます)。
nano /etc/init.d/usbwakeup
ファイルの内容。 「SCRIPT ACTIONS」セクションを変更して、ニーズに合わせて調整します(スクリプトをコメントに追加して、いつか再び開いたときに実際に何が起こるかを知るのが好きです)。
#!/bin/bash # ####################### #一般情報# ####################### # #-このスクリプトは、USBのサスペンド#からのウェイクアップを有効/無効にしますdevices。 # #-スクリプトには実行権限が必要です。 # #-システムの起動時にこのスクリプトを実行するには、 #優先度S01 #の/etc/rc3.d/内のシンボリックリンク(例:/etc/rc3.d/S01usbwakeup) # ########################### #関連する便利なコマンド# ######## ################### # #-USBデバイスの識別: #grep。 /sys/bus/usb/devices/*/product # #-USBデバイスの「サスペンションのウェイクアップ」のステータスを確認します: #grep。/sys/bus/usb/devices/*/power/wakeup # # #################### #SCRIPT ACTIONS# #################### # #オプティカルのサスペンドからのウェイクアップを無効にしますmouse echo disabled> /sys/bus/usb/devices/3-3/power/wakeup # #ワイヤレスキーボードのサスペンドからのウェイクアップを有効にします USBポートnr.4 echo enabled> /sys/bus/usb/devices/3-4.4/power/wakeup でUSB 3.0 HUBに接続したこと
chmod +x /etc/init.d/usbwakeup
Sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup
システムを再起動すると、スクリプトで指定されたとおりにすべてが機能します。変更は、システムが起動するたびに実行されるため、永続的です。
相談した情報源(この投稿の一部):
https://ubuntuforums.org/showthread.php?t=2388336
https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/
https://unix.stackexchange.com/questions/83748/the-rc0-d-rc1-d-directories-in-etc