script de ativação não funciona com nmcli

0

Eu tenho o script a seguir salvo / lib / systemd / system-sleep / directory, para ser executado após cada ativação da suspensão:

#!/bin/bash
if [ "$1" == "post" ]; then
    sleep 5
    cni=$(ip link | grep "state UP" | grep --only-matching --perl-regexp '(?<=:).*(?=:)' | tr --delete ' ')
    #cni=connected(UP) network interface(s)
    if [ -z "$cni" ] && [ $(nmcli radio wifi) == "disabled" ]; then
    #export DISPLAY=:0
    #su -c - my_user nmcli radio wifi on
    nmcli radio wifi on
    fi
fi

Eu testei, loguei como usuário regular, então no terminal su - root e rodei com o switch "post" ele funciona como esperado e quando não há adaptador de rede conectado e wifi está inativo, ele habilita o WIFI. No entanto, não está funcionando quando eu realmente suspendo e acordo meu laptop. Eu estava lendo que talvez eu tenha que definir a variável DISPLAY e executá-la como usuário regular, mas ainda assim não ajudou. Alguma idéia do que estou perdendo aqui?

EDIT - adicionado shebang no início do script, esqueci de escrevê-lo aqui, mas é o meu script

Ubuntu 17.04 kernel 4.10.0-21-genérico

    
por mauek unak 04.06.2017 / 15:04

1 resposta

0

Você está usando bash recursos, mas deixando systemd executar seu script com /bin/sh . Coloque um #!/bin/bash no começo ou reescreva seu script para usar somente sh .

    
por waltinator 04.06.2017 / 15:08