AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 417956
Accepted
piegames
piegames
Asked: 2018-01-19 00:27:57 +0800 CST2018-01-19 00:27:57 +0800 CST 2018-01-19 00:27:57 +0800 CST

Faça alterações permanentes em `/proc/acpi/wakeup`

  • 772

Desativei a maioria das minhas entradas /proc/acpi/wakeup/para garantir que apenas o botão liga / desliga e a tampa do laptop possam reiniciar meu sistema, não o mouse ou o teclado. O problema é: toda vez que eu reinicio, as configurações são redefinidas por algum motivo.

Existe uma maneira de tornar essas alterações permanentes? Existem algumas soluções alternativas que apenas colocam os comandos em um script vinculado a alguma rotina de ativação, mas realmente não há outra solução?

Estou usando um laptop de inicialização dupla Debian/Gnome Windows 10

debian proc
  • 7 7 respostas
  • 10764 Views

7 respostas

  • Voted
  1. John Lindgren
    2019-07-30T16:00:45+08:002019-07-30T16:00:45+08:00

    Para um mouse ou teclado USB, você pode usar uma regra udev para tornar a configuração permanente. Primeiro, procure o ID do fornecedor PCI do seu mouse/teclado usando lsusb. Para o meu mouse, é 046d :

    Barramento 001 Dispositivo 006: ID 046d :c52b Logitech, Inc. Unifying Receiver

    Em seguida, crie um arquivo de "regras" como o meu /etc/udev/rules.d/logitech.rules, substitua apenas "046d" pelo ID do fornecedor do seu próprio dispositivo:

    ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTR{power/wakeup}="disabled"
    
    • 15
  2. matcheek
    2019-03-16T00:52:13+08:002019-03-16T00:52:13+08:00

    acpitool pode ser usado para issoapt install acpitool

    E então sudo acpitool -W [algum número]

    de onde some numberé o id do dispositivo/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
    
    • 2
  3. Hrishikesh Kadam
    2021-02-16T07:31:07+08:002021-02-16T07:31:07+08:00

    A maneira preferida de fazer isso é criando um servicecom systemd.
    Adicionar script rc.localé a maneira obsoleta.

    1. Crie um arquivo de script onde desejar. Ex: ~/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
    
    1. Teste-o executando-o no terminal.

    2. Se estiver tudo bem então vamos fazer um serviço.

    $ 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
    
    1. Copie ou mova o serviço para /etc/systemd/system/.
    $ sudo cp ~/scripts/disable-devices-as-wakeup.service /etc/systemd/system/
    
    1. Habilite o serviço.
    $ systemctl enable disable-devices-as-wakeup.service
    
    1. Reinicie o sistema operacional e verifique o status.
    $ systemctl status disable-devices-as-wakeup.service
    

    Explicação detalhada encontrada em https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd

    • 2
  4. Gerard H. Pille
    2018-01-19T04:14:15+08:002018-01-19T04:14:15+08:00

    Eric Garrido tem um script /etc/rc.localnaqueles ecos daqueles dispositivos que podem ativar seu sistema, para /proc/acpi/wakeup.

    for i in `/bin/grep USB /proc/acpi/wakeup | /usr/bin/awk '{print $1}'`; 
    do 
        echo $i > /proc/acpi/wakeup; 
    done
    
    • 1
  5. Dan Dishonored
    2021-04-29T20:45:16+08:002021-04-29T20:45:16+08:00

    Eu decidi criar script em /usr/lib/systemd/system-sleep/

    de acordo com a página de manual, o systemd irá executá-lo antes de suspender.

    • 1
  6. Best Answer
    Yuri
    2018-01-19T01:22:07+08:002018-01-19T01:22:07+08:00

    O /procé um sistema de arquivos virtual contendo informações do sistema de tempo de execução . Portanto, seu conteúdo é redefinido na reinicialização.

    // Editar: Configure uma regra udev ou crie um script echocom os valores corretos para a /proc/acpi/wakeup/ inicialização .

    • 0
  7. 21rw
    2022-05-28T06:57:25+08:002022-05-28T06:57:25+08:00

    Você pode conseguir usar um crontab na reinicialização se a entrada for revertida apenas na reinicialização.

    Na inicialização, o seguinte crontab reverterá a entrada XHC.

    @reboot /bin/sh -c '/bin/echo XHC > /proc/acpi/wakeup'

    • 0

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve