/proc/acpi/wakeup/
マウスやキーボードではなく、電源ボタンとラップトップカバーだけでシステムを復元できるように、ほとんどの項目を無効にしました。問題は、再起動するたびに何らかの理由で設定がリセットされることです。
これらの変更を永久に適用する方法はありますか?いくつかの回避策があります。いくつかのウェイクアップルーチンに接続されたスクリプトにコマンドを入れるだけです。しかし、実際に他の解決策はありませんか?
Debian/Gnome Windows 10 デュアルブートノートブックを使用しています。
答え1
USB マウスまたはキーボードの場合、udev ルールを使用して設定を永久に作成できます。まず、を使用してマウス/キーボードのPCIベンダーIDを見つけますlsusb
。私のマウスの場合046d:
バス001デバイス006:ID046d:c52bロジクール統合レシーバ
その後、私と同じ「ルール」ファイルを作成します。/etc/udev/rules.d/logitech.rules
、「046d」を自分のデバイスベンダーIDに置き換えてください。
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTR{power/wakeup}="disabled"
答え2
これを行う最善の方法は、service
systemdを使用して1つを作成することです。
スクリプトを追加するrc.local
ことはお勧めできません。
どこでもスクリプトファイルを作成します。前任者:
~/scripts/disable-devices-as-wakeup.sh
。#!/bin/bash declare -a devices=(XHC OCH1 USB1 USB2) # <-- Add your entries here for device in "${devices[@]}"; do if grep -qw ^$device.*enabled /proc/acpi/wakeup; then sudo sh -c "echo $device > /proc/acpi/wakeup" fi done
端末で実行してテストしてみてください。
すべてが正常であればサービスを提供します。
$ touch ~/scripts/disable-devices-as-wakeup.service
~/scripts/disable-devices-as-wakeup.service -
[Unit] Description=Disable devices as wakeup [Service] ExecStart=/home/username/scripts/disable-devices-as-wakeup.sh Type=oneshot [Install] WantedBy=multi-user.target
サービスをにコピーまたは移動します
/etc/systemd/system/
。$ sudo cp ~/scripts/disable-devices-as-wakeup.service /etc/systemd/system/
サービスを有効にします。
$ systemctl enable disable-devices-as-wakeup.service
オペレーティングシステムを再起動し、ステータスを確認します。
$ systemctl status disable-devices-as-wakeup.service
詳細な説明をご覧くださいここ。
答え3
acpitoolこれに使用できますapt install acpitool
それから
sudo acpitool -W [some number]
some number
デバイスIDはどこから来ましたか?/proc/acpi/wakeup
maciej@michal:~$ sudo acpitool -W 22
Changed status for wakeup device #22 (UHC6)
Device S-state Status Sysfs node
---------------------------------------
1. PCE2 S4 *disabled pci:0000:00:02.0
2. PCE3 S4 *disabled
3. PCE4 S4 *disabled pci:0000:00:04.0
4. RLAN S4 *enabled pci:0000:02:00.0
5. PCE5 S4 *disabled
6. PCE6 S4 *disabled
7. PCE7 S4 *disabled pci:0000:00:07.0
8. PCE9 S4 *disabled
9. PCEA S4 *disabled
10. PCEB S4 *disabled
11. PCEC S4 *disabled
12. SBAZ S4 *disabled pci:0000:00:14.2
13. PS2K S4 *disabled
14. PS2M S4 *disabled
15. UAR1 S4 *disabled pnp:00:03
16. P0PC S4 *disabled pci:0000:00:14.4
17. UHC1 S4 *disabled pci:0000:00:12.0
18. UHC2 S4 *disabled pci:0000:00:12.1
19. UHC3 S4 *disabled pci:0000:00:12.2
20. USB4 S4 *disabled pci:0000:00:13.0
21. UHC5 S4 *disabled pci:0000:00:13.1
22. UHC6 S4 *disabled pci:0000:00:13.2
23. UHC7 S4 *enabled pci:0000:00:14.5
答え4
スクリプトを書くことにしました。/usr/lib/systemd/システムスリープ/
~によるとマニュアルページ システム一時停止する前に実行されます。