「/proc/acpi/wakeup」の永久変更

「/proc/acpi/wakeup」の永久変更

/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

これを行う最善の方法は、servicesystemdを使用して1つを作成することです。
スクリプトを追加するrc.localことはお勧めできません。

  1. どこでもスクリプトファイルを作成します。前任者: ~/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
    
  2. 端末で実行してテストしてみてください。

  3. すべてが正常であればサービスを提供します。

    $ 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
    
  4. サービスをにコピ​​ーまたは移動します/etc/systemd/system/

    $ sudo cp ~/scripts/disable-devices-as-wakeup.service /etc/systemd/system/
    
  5. サービスを有効にします。

    $ systemctl enable disable-devices-as-wakeup.service
    
  6. オペレーティングシステムを再起動し、ステータスを確認します。

    $ 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/システムスリープ/

~によるとマニュアルページ システム一時停止する前に実行されます。

関連情報