Desativar espera no fechamento do laptop somente se a ethernet estiver conectada

4

Eu sei que você pode desativar o modo de espera ao fechar a tampa do laptop, mas é possível que ele não fique em modo de espera se a ethernet estiver conectada?

Então, basicamente, seja com bateria ou não, eu preciso que funcione assim:

If laptop shell closed
    If ethernet not plugged in
        Go to standby
    Else
        Don't go to standby, ever

Existe uma maneira de conseguir isso?

    
por Josh I 02.05.2018 / 14:58

1 resposta

1

Ok, com algumas informações de outras respostas, você pode tentar este método não testado:

Em Veja como fechar e abrir eventos

  • O script que você deseja chamar quando a tampa é aberta ou fechada precisa ser armazenado. em /etc/acpi/lid.sh .

  • Em seguida, é necessário criar o arquivo correto /etc/acpi/events/lm_lid com o conteúdo da seguinte forma:

    event=button/lid.*
    action=/etc/acpi/lid.sh
    
  • Reinicialize seu sistema para que isso entre em vigor. Ou talvez seja o suficiente para reiniciar o seu ACPI usando

    sudo /etc/init.d/acpid restart
    

De link e Como posso suspender / hibernar da linha de comando? o script /etc/acpi/lid.sh ficará assim (altere o nome da sua rede para o seu nome da placa de rede. Use ifconfig para encontrá-lo). Você pode escolher entre suspender ou hibernar.

#!/bin/bash
if [ "$(head -c1 /sys/class/net/yournetworkcardname/carrier)" -eq 0 ]; then
    systemctl suspend
fi

Teste o script com bash -x /etc/acpi/lid.sh e verifique se funciona. Você pode ter que adicionar o seguinte para executar o script como sudo sem ser solicitado com uma senha, de link :

myusername ALL = (root) NOPASSWD: /etc/acpi/lid.sh

Talvez você também precise chamar o script na ação com o sudo.

    
por Katu 02.05.2018 / 17:54