Индикатор состояния в строке состояния на основе возвращаемого значения периодического выполнения команды

Я хочу периодически выполнять команду и на основе ее вывода иметь визуальную индикацию ее последнего возвращаемого значения (0: зеленый, ненулевое: красный).

например, используя команду ниже, я могу проверить, живо ли мое VPN-соединение.protected-nodeдоступен только через VPN, поэтому, если VPN неработоспособен или не работает, он вернет ненулевое значение.

      nc -w5 -z vpn-only-accessible-node 80

Итак, как было сказано выше, я ищу способ преобразовать возвращаемое значение команды в визуальную индикацию в строке состояния или в какую-либо другую всегда видимую область на моем рабочем столе.

Я использую рабочий стол Mate.

2 ответа

С использованиемnotify-send, вы всегда можете сделать что-то вроде этого:

      while sleep 5
  do
    nc -w5 -z vpn-only-accessible-node 80 && \
    notify-send --icon=network-wired "OK" "OK" || \
    notify-send --icon=network-error "ERR" "Error"
    done

... или в командной строке, которую вы можете запустить, указав ее как команду, например, в запускаемых приложениях, чтобы она автоматически запускалась при входе пользователя в рабочий стол... Вот так:

      /bin/bash -c 'while sleep 5; do nc -w5 -z vpn-only-accessible-node 80 && notify-send --icon=network-wired "OK" "OK" || notify-send --icon=network-error "ERR" "Error"; done'

Любой из вышеперечисленных вариантов будет запускать вашу команду каждые пять секунд и отправлять вам визуальное уведомление на рабочем столе, которое отличается по внешнему виду и по содержанию.

Апплеты MATE , ответвление апплетов GNOME , должны содержать апплет с именем «Command», который периодически запускает команду и отображает выходные данные на верхней панели. Вероятно, вы сможете сразу добавить этот апплет на свою панель (если нет, вам, вероятно, придется установитьmate-appletsупаковка).

Хотя это и не совсем то, что вы хотите (вы получите текстовую индикацию вместо цветов), вы можете использовать его для выполнения сценария, который запускает вашу команду и выводит либо «ОК», либо «ОШИБКА» (или любой другой текст, который вам подходит) в зависимости от по коду возврата.

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