"/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를 사용하여 하나를 만드는 것입니다.
스크립트를 추가하는 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/시스템 절전/

~에 따르면매뉴얼 페이지 체계일시 중지되기 전에 실행됩니다.

관련 정보