永久更改“/proc/acpi/wakeup”

永久更改“/proc/acpi/wakeup”

我禁用了大部分条目,/proc/acpi/wakeup/以确保只有电源按钮和笔记本电脑盖可以恢复我的系统,而不是鼠标或键盘。问题是:每次重新启动时,设置都会因某种原因重置。

有没有办法让这些改变永久化?有一些解决方法,只需将命令放入与某些唤醒例程挂钩的脚本中,但真的没有其他解决方案吗?

我使用的是 Debian/Gnome Windows 10 双启动笔记本电脑

答案1

对于 USB 鼠标或键盘,您可以使用 udev 规则使设置永久生效。首先,使用 查找您的鼠标/键盘的 PCI 供应商 ID lsusb。对于我的鼠标来说,它是046d:

总线 001 设备 006:ID046d:c52b Logitech, Inc. 统一接收器

然后创建一个像我一样的“规则”文件/etc/udev/rules.d/logitech.rules,只需将“046d”替换为您自己设备的供应商ID:

ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTR{power/wakeup}="disabled"

答案2

执行此操作的首选方法是使用servicesystemd 创建一个。
添加脚本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/系统睡眠/

根据手册页 系统将在挂起之前运行它。

相关内容