Как запустить скрипт bash и отобразить любой вывод в Conky?

Скрипт Bash, который я хотел бы запустить в Conky, представляет собой цикл, поэтому его нужно запускать только один раз. Это скрипт мониторинга на случай, если мой VoIP роутер выйдет из строя.

${execi 3600 /home/justin/pingvoip}

Конки не хочет начинать с приведенного выше кода.

2 ответа

Решение

Я обошел проблему, имея вывод сценария в файл журнала, и у меня есть conky tail файл журнала.

Для тех, кто хотел увидеть сценарий:

#!/bin/bash
rm /home/username/ping.log #deletes the log file when the script starts
downTime=0
lastAccessTime=$(date +"%s")
while [ true ]; do
if ! ping -c1 192.168.1.28 >& /dev/null; then
    downTime=$(( $(date +"%s") - $lastAccessTime ))
else
    downTime=0
    lastAccessTime=$(date +"%s")

fi

sleep 60

if [ $downTime -ge 60 ]; then
   notify-send -u normal "VoIP is down! Please Reboot." #displays a desktop notification
   mplayer -nolirc -really-quiet /home/username/chime.ogg #plays a sound
   echo "`date +%b%e,%l:%M%p` $1": "VoIP is down!" >>/home/username/ping.log #writes Date & text to the log file
fi


done

Способ сделать это через команду / переменные conky, такие как exec,execp, execi, pre_exec,execbar, а также execgraph,

Как и любая другая переменная conky, за которой следует только bash -

${pre_exec ls -flah}

или же

${exec your_script.sh} 

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

Смотрите полный список и дополнительную информацию в списке объектов Conky:

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