сценарий пробуждения не работает с nmcli

У меня есть следующий скрипт, который сохранил его / lib / systemd / system-sleep / directory, для запуска после каждого пробуждения из suspend:

#!/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

Я протестировал его, зарегистрировался как обычный пользователь, затем в терминальном su-root и запускайте его с помощью «post» с коммутатором, он работает так, как ожидалось, и когда нет подключенного сетевого адаптера и Wi-Fi отключен, он активирует WIFI. Однако он не работает, когда я фактически приостанавливаю и пробуждаю свой ноутбук. Я читал, что, возможно, мне нужно определить переменную DISPLAY и запустить ее как обычного пользователя, но все равно это не помогло.

EDIT - добавил shebang в начале скрипта, забыл написать его здесь, но это мой скрипт

Ядро Ubuntu 17.04 4.10.0- 21-родовой

0
задан 4 June 2017 в 18:39

2 ответа

Вы используете функции bash, но позволяете systemd запускать ваш скрипт с помощью /bin/sh. Поместите #!/bin/bash в начале или перепишите свой скрипт только для использования функций sh.

0
ответ дан 18 July 2018 в 12:11

Вы используете функции bash, но позволяете systemd запускать ваш скрипт с помощью /bin/sh. Поместите #!/bin/bash в начале или перепишите свой скрипт только для использования функций sh.

0
ответ дан 24 July 2018 в 19:55
  • 1
    добавил shebang в начале скрипта, забыл написать его здесь, но это мой сценарий – mauek unak 4 June 2017 в 16:15

Другие вопросы по тегам:

Похожие вопросы: