É realmente irritante, pois tenho que desconectar o mouse após uma suspensão para garantir que um solavanco ocasional não acorde o sistema. Não encontrei nada nas configurações do sistema que pudesse desativar isso nem pesquisando no Google.
É realmente irritante, pois tenho que desconectar o mouse após uma suspensão para garantir que um solavanco ocasional não acorde o sistema. Não encontrei nada nas configurações do sistema que pudesse desativar isso nem pesquisando no Google.
Respostas:
Ainda não verifiquei o BIOS, mas encontrei uma solução!
Resumo breve: em /proc/acpi/wakeup
, você pode ver quais dispositivos estão atualmente ativados para retomar da suspensão. Essa lista mostra os nomes (abreviados) dos chamados "Dispositivos". Exemplo "PWRB" significa "botão liga / desliga".
Se você escrever nomes de dispositivos nesse arquivo, alterne-os entre ativado / desativado.
Eu escrevi um pequeno tutorial sobre como desativar a ativação por mouse , com base em um blog onde encontrei essas informações.
sudo
não vai funcionar: um tem que fazer sudo su
primeiro, então ecoar a /proc/acpi/wakeup
. No entanto, eu estou querendo saber se alguém já encontrou uma maneira de apenas ? Desativar o mouse eu tenho tanto na minha área de trabalho conectada via USB (sem fio) e isso também desabilitará a ativação do teclado.
Obrigado a todos os pôsteres, pois a ativação do mouse é um grande inconveniente e recebi minhas respostas aqui. Desejo acrescentar meu toque às soluções, pois isso pode ajudar em mais casos. Eu tive que desativar 3 itens diferentes no /proc/acpi/wakeup
. Meus dispositivos: EHC1, EHC2, XHCI
. Os dois primeiros são usb2 e o terceiro uma entrada usb3. Observe que, embora o transceptor usb do meu mouse esteja conectado a uma porta usb2 e nada esteja em nenhuma porta usb3, o computador ativará os movimentos do mouse até que todos os 3 itens sejam 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 desabilitar os itens de ativação em todas as inicializações, você pode adicionar algo como isso a /etc/rc.local
..
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
edite por cipricus:
Estou editando isso porque precisava adicionar mais detalhes para que uma pergunta separada fosse fechada como duplicata do que foi dito acima, com base nesta resposta; Eu acho mais útil do que postar como uma resposta separada.
*** Teste quais itens precisam ser desabilitados - como indicado aqui - para cada um dos itens postados enabled
abaixo cat /proc/acpi/wakeup | sort
, executando no terminal cada um dos comandos abaixo e depois teste se o mouse acorda o sistema (sem a necessidade de reiniciar) :
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 após o teste com outras portas USB)
*** Se o /etc/rc.local
arquivo 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 se parecer 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
A seguir, 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 com:
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
Reinicie para ver as alterações.
Meu sistema é o Ubuntu 15.10
Eu tentei usar o lsusb
comando para encontrar o que é o dispositivo do mouse. É muito simples, você digita lsusb
e desconecta o mouse (no meu caso, é um receptor Bluetooth) e digita lsusb
novamente. O dispositivo fica assim:
Bus 007 Device 008: ID 24ae:2000
Agora encontre-o na /sys/bus/usb/devices/
pasta usando o mesmo caminho (desconecte / conecte). No meu caso, descobri que eles estão em algum lugar nas pastas que começam 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
=> 24ae
. É isso aí.
Finalmente, crio um script no /lib/systemd/system-sleep
diretório, nomeie o que você 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 feito.
esse 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
, encontrar o nome do mouse USB e colocá-lo no script. Em seguida, salve o arquivo como "ssmonoff.sh", torne-o executável e configure-o para executar na inicialização.
Pode haver uma maneira específica para o seu hardware; nesse caso, a opção pode estar disponível nas configurações de BIOS do seu sistema.
Chegar ao menu do BIOS para alterar as configurações também é específico do sistema. Geralmente, 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 usuário138339 parece ser uma maneira mais geral de obter o que você precisa, e você pode fazer isso no sistema em execução.
Este é o meu "tutorial" passo a passo para fazê-lo funcionar para você:
cat /proc/acpi/wakeup
para mostrar a lista de dispositivos de ativaçãosudo sh -c "echo XXXX >/proc/acpi/wakeup"
(substitua "XXXX" pelo código do seu dispositivo) para alternar o estado do dispositivo (ativado / desativado). Acesse um dispositivo de cada vez e tente suspender sua máquina e ativá-la usando o dispositivo que você deseja desativar até que o dispositivo merecido não consiga ativar a máquina. Não se esqueça de sempre ativar novamente os dispositivos que você não deseja desativar.#!/bin/sh
printf "XXXX" > /proc/acpi/wakeup
(não esqueça de substituir "XXXX" pelo código do dispositivo)/etc/init.d/
. Para copiar o arquivo, use o seguinte comando:
sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup
(substitua "USERNAME" pelo seu nome de usuário real)sudo chmod 755 /etc/init.d/acpi_wakeup
sudo update-rc.d acpi_wakeup defaults
(é exibido, WARNING: ...missing LSB tags and overrides
mas está OK. Você não precisa se preocupar com isso)Fontes e leituras adicionais:
http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985 http://ubuntuforums.org/showthread.php?t=814939&page=3