O movimento do mouse desperta o computador de suspender como desabilitar isso?

25

É muito chato, já que tenho que desconectar o mouse depois de uma suspensão para garantir que uma colisão ocasional não acorde o sistema. Eu não encontrei nada nas configurações do sistema que poderia desabilitar isso nem pesquisando por aí.

    
por user129498 08.02.2013 / 14:40

7 respostas

21

Ainda não verifiquei o BIOS, mas encontrei uma solução!

Breve resumo: em /proc/acpi/wakeup , você pode ver quais dispositivos estão atualmente ativados para retomar a suspensão. Essa lista mostra nomes (abreviados) dos chamados "Dispositivos". Exemplo "PWRB" significa "botão liga / desliga".

Se você gravar nomes de dispositivos nesse arquivo, você os alterna entre ativado / desativado.

Eu escrevi um pequeno HowTo para desabilitar o wakeup-by-mouse , com base em um blog onde encontrei essa informação.

    
por user138339 08.03.2013 / 08:14
10

Obrigado a todos os posters porque o despertar do mouse é um grande inconveniente e recebi minhas respostas aqui. Gostaria de acrescentar minha mudança às soluções, pois isso pode ajudar em mais casos. Eu tive que desabilitar três itens diferentes em /proc/acpi/wakeup . Meus dispositivos: EHC1, EHC2, XHCI . Os primeiros 2 são usb2 e o terceiro é uma entrada usb3. Por favor, note que embora o transceptor usb para o meu mouse esteja conectado a uma porta usb2 e nada esteja em nenhuma porta usb3, o computador irá acordar com o mouse até que os todos os 3 itens estejam desativados.

$ cat /proc/acpi/wakeup | sort 
Device  S-state   Status   Sysfs node
EHC1      S3    *disabled  pci:0000:00:1d.0
EHC2      S3    *disabled  pci:0000:00:1a.0
GLAN      S4    *enabled   pci:0000:08:00.0
.. ,, ..
USB7      S3    *disabled
WLAN      S3    *disabled  pci:0000:03:00.0
XHCI      S3    *disabled  pci:0000:07:00.0

Para desativar os itens de ativação em todas as inicializações, você pode adicionar algo assim a /etc/rc.local ..

echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup

edite por cipricus:

Eu estou editando isso porque eu precisava adicionar mais detalhes para uma pergunta minha ser fechado como duplicado do acima baseado nesta resposta; Eu acho mais útil do que postar como uma resposta separada.

*** Teste quais itens precisam ser desativados - conforme indicado aqui - para cada dos itens que foram postados como enabled em cat /proc/acpi/wakeup | sort executando no terminal cada um dos comandos abaixo e testando se o mouse acorda o sistema (sem a necessidade de reinicialização):

sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo XHCI > /proc/acpi/wakeup"

(no meu caso, o primeiro foi suficiente, mesmo depois de testar com outras portas USB)

*** Se o arquivo /etc/rc.local não existir - de acordo com este post:

printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

O arquivo deve ser parecido com:

#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup

exit 0

Reinicie.

Se isso ainda não funcionar, pode ser que o arquivo /etc/systemd/system/rc-local.service esteja ausente ou não esteja configurado corretamente.

Teste com

sudo /etc/init.d/rc.local start

e

sudo systemctl status rc-local

Seguindo Como ativar o /etc/rc.local com o Systemd :

Crie o arquivo:

sudo nano /etc/systemd/system/rc-local.service

Em seguida, adicione o seguinte conteúdo a ele.

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

Salve e feche o arquivo. Para salvar um arquivo no editor de texto Nano, pressione Ctrl + O e pressione Enter para confirmar. Para sair do arquivo, pressione Ctrl + X.

Verifique se tudo está bem sem erros:

sudo systemctl start rc-local.service
sudo systemctl status rc-local.service

Reinicialize para ver as alterações.

    
por Randy Skretka 17.11.2013 / 21:55
4

Meu sistema é o Ubuntu 15.10

Eu tentei usar o comando lsusb para encontrar o dispositivo de mouse. É muito simples, você digita lsusb e depois desconecta o mouse (no meu caso, é um receptor Bluetooth) e digita lsusb novamente. O dispositivo é assim:

Bus 007 Device 008: ID 24ae:2000

Agora, encontre-o na pasta /sys/bus/usb/devices/ usando o mesmo caminho (desconecte / conecte). No meu caso, descobri que eles estão em algum lugar nas pastas que começam com 7-2* .

Agora tente ler o idProduct e o idVendor. Por exemplo: cat /sys/bus/usb/devices/7-2.3/idProduct = > 2000 , cat /sys/bus/usb/devices/7-2.3/idVendor = > %código%. É isso.

Por fim, crio um script no diretório 24ae , nomeie como quiser.

#! /bin/sh

if [ ! -r /sys/bus/usb/devices/7-2.3/power/wakeup ]; then
    exit 0
fi
case "$1" in
    pre )
    echo disabled > /sys/bus/usb/devices/7-2.3/power/wakeup
;;
esac

Tudo pronto.

    
por Minh Nguyen 25.12.2015 / 05:17
1

Este é o meu "tutorial" passo-a-passo para que funcione para você:

  1. Use o comando cat /proc/acpi/wakeup para mostrar a lista de dispositivos de ativação
  2. Use o comando sudo sh -c "echo XXXX >/proc/acpi/wakeup" (substitua "XXXX" pelo código do dispositivo) para alternar o estado do dispositivo (ativado / desativado). Vá um dispositivo de cada vez e tente suspender sua máquina e acorde-a usando o dispositivo que deseja desativar até que o dispositivo desejado não consiga ativar a máquina. Não se esqueça de sempre ativar novamente os dispositivos que você não deseja que sejam desativados.
  3. Quando você encontrar o dispositivo certo, crie em seu arquivo da área de trabalho "acpi_wakeup" contendo o seguinte código: %código% (não se esqueça de substituir "XXXX" pelo código do seu dispositivo)
  4. Mova ou copie o arquivo para a pasta #!/bin/sh printf "XXXX" > /proc/acpi/wakeup . Para copiar o arquivo, use o seguinte comando: %código% (substitua "USERNAME" pelo seu nome de usuário atual)
  5. Torne o arquivo executável: %código%
  6. Em seguida, use 'update-rc.d' para criar automaticamente os links simbólicos necessários em outros diretórios: %código% (mostra /etc/init.d/ , mas está tudo bem. Você não precisa se preocupar com isso)
  7. Reinicie seu computador.

Fontes e leituras adicionais:

link link

    
por Juraj.Lorinc 30.10.2014 / 09:10
0

Pode haver uma maneira específica para o seu hardware, caso em que a opção pode estar disponível através das configurações do BIOS do seu sistema.

Chegar ao seu menu BIOS para alterar as configurações também é específico do sistema. Normalmente, você pressiona uma tecla logo após a reinicialização e a tecla a ser pressionada geralmente é exibida na tela.

No entanto, a resposta do user138339 parece ser uma maneira mais geral de conseguir o que você precisa, e você pode fazer isso a partir do sistema em execução.

    
por Robie Basak 07.03.2013 / 12:44
0

este script resolveu meu problema. confira.

    #!/bin/bash

# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
    echo "Script already running. Exit..."
    exit
fi

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
    if echo $line | grep "boolean true" &> /dev/null; then
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
            xset dpms force off
    else
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
    fi
done )

Tudo o que você precisa fazer é, primeiro, executar sudo xinput list , encontre o nome do seu mouse USB e coloque-o no script. Em seguida, salve o arquivo como "ssmonoff.sh", torne-o executável e configure-o para ser executado na inicialização.

    
por yurividal 26.04.2013 / 16:17
0

Grande explicação. Eu simplesmente adicionei ao rc.local o seguinte comando

for d in 'cat wakeup |grep enabled|grep -v PS2K|cut -b -4'; do echo $d >/proc/acpi/wakeup ; done

para desativar todos os dispositivos que não sejam o PS2K (teclado PS2) do despertador. Simples e funcionando!

    
por MeS Fet 09.11.2017 / 12:46

Tags