Выполнение команд, когда сеть повышается или вниз использующий dispatcher.d

Я пытаюсь заставить диспетчера Администратора сети запускать скрипт, когда сетевой интерфейс подходит или понижается. Я хочу выполнить команду espeak, когда соединение повышается или понижается. Я могу заставить это писать в файл/tmp/log, но я не слышу звука от команды espeak даже при том, что я могу ввести его непосредственно на терминале, и это работает.

Путем я тестирую его, путем разъединения моей сетевой платы usb (это - единственная сетевая плата, которую я имею в машине),

Я имею, помещают исполняемый файл в /etc/NetworkManager/dispatcher.d (это назвало 02-ifupdowntest),

-rwxr-xr-x 1 root root 2293 Mar 26  2018 01-ifupdown
-rwxr-xr-x 1 root root  534 Jan 23 16:42 02-ifupdowntest
-rwxr-xr-x 1 root root 5383 Mar 27  2018 99tlp-rdw-nm

Посмотрите содержание 02-ifupdowntest ниже:

#!/bin/bash -e
if [ "$2" = "up" ]; then

    echo "`date`" > /tmp/log
    echo "$1" >> /tmp/log
    echo "$2" >> /tmp/log
    echo "`/usr/bin/espeak "network up"`"

fi

if [ "$2" = "down" ]; then
    echo "$2" >> /tmp/log
    echo "`/usr/bin/espeak "network down"`"


fi

exit 0

Я использую Ubuntu 18.04 64bit Linux

0
задан 26 January 2020 в 07:19

1 ответ

Похоже, что/etc/network/interfaces переопределяет NetworkManager. Когда я удалил запись из своего интерфейса из того файла, сценарии в dispatcher.d назвали правильно снова.

0
ответ дан 30 January 2020 в 23:31

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

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