Я хотел бы использовать Conky для мониторинга бэкэнда mythtv, как мне это настроить?
Просто быстрый комментарий к параметру mythtv-status, вы можете установить опцию хоста в /etc/default/mythtv-status
, и в этом случае он будет запомнен при обновлении или переустановке mythtv-status.
Вы также можете установить другие параметры, такие как включение цветного вывода и добавление другой информации к выводу.
Из сообщения на форуме (отредактировано по содержанию и грамматике):
Я недавно обнаружил это, поскольку мне нужно было что-то еще, но я подумал, что было бы неплохо проверить состояние удаленного и локального интерфейсов.
blockquote>Я написал скрипт, который отображает статус локального и удаленного веб-интерфейса в conky, и я хотел бы поделиться им с вами. Я только изучаю сценарии, и это моя первая попытка работы с переменными, в основном я просто помещаю материал, в который я могу вводить тип из оболочки без переменных или исправления ошибок, поэтому я немного научился готовить это.
Инструкции по использованию приведены в комментариях к файлу, и эта ссылка должна сообщить вам о mythtv telnet и о том, как его включить.
blockquote>
Второй снимок экрана показывает, как я использую его в сочетании с идеей DemonBobs и conky mythtv record, которые можно найти здесь
blockquote>#!/bin/bash #Made By Kemble Wagner #To use this Script you need to Enable Network Remote Control Interface on Mythfrontend #Thanks to wagnerrp from mythtv-users on freenode for his contributions and tips #the output files are meant to be used with conky #e.g .conkyrc #${color #8844ee}Local Frontend Status: #${color #8844ee} ${execi 30 mythnc.sh > /dev/null && cat /var/tmp/local.myth} #${color #8844ee}Remote Frontend Status: #${color #8844ee} ${execi 30 mythnc.sh > /dev/null && cat /var/tmp/remote.myth} #Version 0.2 14/04/09 #Version 0.3 " " fixed sed to make it parse long file names and unusual characters with spaces and no spaces when outputting Video Playback #Version 0.4 " " added more events to output in human friendly terms changes it so only one instance of nc is used to prevent hammering of ports #Version 0.5 17/04/09 add some fixes to playback status and added a check status in the even the frontend not running but the host is up #change the host names to suit add more if needed LOCALHOST=box #path to text file leave as default is ok OUTPUTFILE1=/var/tmp/local.myth OUTPUTFILETMP1=/var/tmp/local.myth.tmp FETEST1=/var/tmp/local.fetest FILENAME1=`cat $OUTPUTFILETMP1 | grep 'Playback Video' |sed -e 's/[[ \t]]*/_/g' | sed 's/\(.*\)\..*/\1/' | sed 's/ *//g' | sed -e 's/^.*\///;s/ .*$//'` RECFILE1=`cat $OUTPUTFILETMP1 | grep 'Playback Recorded' |sed -e 's/[[ \t]]*/_/g' | sed 's/\(.*\)\..*/\1/' | sed 's/ *//g' | sed -e 's/^.*\///;s/ .*$//'` #remote host variables #the stuff below is an attempt to convert telnet status info into human friendly readable info #below are localhost checks nc -c exit $LOCALHOST 6546 && echo opened > $FETEST1|| echo closed > $FETEST1 #Checking if MythFrontend is running if (cat $FETEST1 | grep closed ); then echo "$LOCALHOST is up but MythFrontend doesn't seem to be running" > $OUTPUTFILE1 else echo -e "query location\nexit" | nc $LOCALHOST 6546 > $OUTPUTFILETMP1 fi #Checking for TV recording Menu if (cat $OUTPUTFILETMP1 | grep PlaybackBox ); then echo "$LOCALHOST is Idle in TV Recordings Menu" > $OUTPUTFILE1 else #Checking for Program Guide if (cat $OUTPUTFILETMP1 | grep GuideGrid ); then echo " $LOCALHOST is in TV Guide" > $OUTPUTFILE1 else #Checking for MythVideo Gallery if (cat $OUTPUTFILETMP1 | grep videogallery ); then echo "MythVideo Menu On $LOCALHOST is Idle" > $OUTPUTFILE1 else #Checking for MythVideo Listings if (cat $OUTPUTFILETMP1 | grep videolistings); then echo "MythVideo Menu On $LOCALHOST is Idle" > $OUTPUTFILE1 else #Checking for MythVideo Browser if (cat $OUTPUTFILETMP1 | grep videobrowser); then echo "MythVideo Menu On $LOCALHOST is Idle" > $OUTPUTFILE1 else #Checking for MythMusics if (cat $OUTPUTFILETMP1 | grep playmusic ); then echo "Playing Music Cant you Hear?" > $OUTPUTFILE1 else #Checking for MainMenu if (cat $OUTPUTFILETMP1 | grep MainMenu ); then echo "$LOCALHOST is in The Main Menu" > $OUTPUTFILE1 else #Checking for Live TV if (cat $OUTPUTFILETMP1 | grep "Playback LiveTV" ); then echo "$LOCALHOST is Watching Live TV" > $OUTPUTFILE1 else #Checking for MythVideo Playback if (cat $OUTPUTFILETMP1 | grep "Playback Video" ); then echo "MythVideo is playing $FILENAME1" > $OUTPUTFILE1 else if (cat $OUTPUTFILETMP1 | grep "Playback Recorded" ); then echo "MythTV is playing recording $RECFILE1" > $OUTPUTFILE1 else #if none of the above simply display then query status output if (cat $OUTPUTFILETMP1 | grep "#"); then cat $OUTPUTFILETMP1 | grep "#" > $OUTPUTFILE1 fi fi fi fi fi fi fi fi fi fi fi #setting remote host variables you can reproduce this for as many hosts as you want REMOTE=frontend OUTPUTFILE2=/var/tmp/remote.myth OUTPUTFILETMP2=/var/tmp/remote.myth.tmp # script gets slow if the host is not up when continueing to set remote host variables so check its up first #checking remote frontend is up first if ! `/bin/ping -W1 -c1 $REMOTE >/dev/null 2>&1` ; then echo "$REMOTE Seems Offline" > $OUTPUTFILE2 && exit 0 else #contine setting remote host variables FILENAME2=`cat $OUTPUTFILETMP2 | grep 'Playback Video' |sed -e 's/[[ \t]]*/_/g' | sed 's/\(.*\)\..*/\1/' | sed 's/ *//g' | sed -e 's/^.*\///;s/ .*$//'` RECFILE2=`cat $OUTPUTFILETMP2 | grep 'Playback Recorded' | sed -e 's/^.*\///;s/ .*$//' | sed 's/\(.*\)\..*/\1/'` FETEST2=/var/tmp/remote.fetest #below are remote host checks nc -c exit $REMOTE 6546 && echo opened > $FETEST2|| echo closed > $FETEST2 #Checking if MythFrontend is running if (cat $FETEST2 | grep closed ); then echo "$REMOTE is up but MythFrontend doesn't seem to be running" > $OUTPUTFILE2 else echo -e "query location\nexit" | nc $REMOTE 6546 > $OUTPUTFILETMP2 fi #Checking for TV recording Menu if (cat $OUTPUTFILETMP2 | grep PlaybackBox ); then echo "$REMOTE is Idle in TV Recordings Menu" > $OUTPUTFILE2 else #Checking for Program Guide if (cat $OUTPUTFILETMP2 | grep GuideGrid ); then echo "$REMOTE is in TV Guide" > $OUTPUTFILE2 else #Checking for MythVideo Gallery if (cat $OUTPUTFILETMP2 | grep videogallery ); then echo "MythVideo Menu On $REMOTE is Idle" > $OUTPUTFILE2 else #Checking for MythVideo Listings if (cat $OUTPUTFILETMP2 | grep videolistings); then echo "MythVideo Menu On $REMOTE is Idle" > $OUTPUTFILE2 else #Checking for MythVideo Browser if (cat $OUTPUTFILETMP2 | grep videobrowser); then echo "MythVideo Menu On $REMOTE is Idle" > $OUTPUTFILE2 else #Checking for MythMusics if (cat $OUTPUTFILETMP2 | grep playmusic ); then echo "Playing Music Cant you Hear?" > $OUTPUTFILE2 else #Checking for MainMenu if (cat $OUTPUTFILETMP2 | grep MainMenu ); then echo "$REMOTE is in The Main Menu" > $OUTPUTFILE2 else #Checking for Live TV if (cat $OUTPUTFILETMP2 | grep "Playback LiveTV" ); then echo "$REMOTE is Watching Live TV" > $OUTPUTFILE2 else #Checking for MythVideo Playback if (cat $OUTPUTFILETMP2 | grep "Playback Video" ); then echo "MythVideo On $REMOTE is playing $FILENAME2" > $OUTPUTFILE2 else if (cat $OUTPUTFILETMP2 | grep "Playback Recorded" ); then echo "MythTV On $REMOTE is playing recording $RECFILE2" > $OUTPUTFILE2 else #if none of the above simply display then query status output if (cat $OUTPUTFILETMP2 | grep "#"); then cat $OUTPUTFILETMP2 | grep "#" > $OUTPUTFILE2 fi fi fi fi fi fi fi fi fi fi fi fi fi
Я думаю, что это довольно тонко, учитывая, сколько мне пришлось написать, чтобы несколько строк в конки. В любом случае, это было весело для меня, я надеюсь, что люди попробуют это и дадут мне знать, как это происходит, если вам понадобится какая-либо помощь, я был бы рад помочь, если у вас возникнут какие-либо проблемы с настройкой.
blockquote>Ссылки
- Оригинальное сообщение на форуме от oobe-feisty
Это практическое руководство по использованию conky на любой коробке с Ubuntu для просмотра информации о записи на вашем бэкенде. Это достигается установкой mythtv-status на коробку ubuntu, которая использует conky. Я немного изменил статус mythtv.
Скопируйте ваш /home/username/.mythtv/config.xml
из вашей коробки mythbuntu на локальный рабочий стол Ubuntu /home/username/.mythtv/config.xml
Отредактируйте файл config.xml, чтобы отразить IP-адрес вашего бэкэнда
gedit ~/.mythtv/config.xml
Отредактируйте эту строку. Измените localhost на IP-адрес вашего бэкэнда. В моем случае
<DBHostName>localhost</DBHostName>
Изменено на:
<DBHostName>192.168.15.3</DBHostName>
Ссылка config.xml на /root/.mythtv/config.xml
sudo mkdir /root/.mythtv
sudo ln -s ~/.mythtv/config.xml /root/.mythtv/config.xml
Это исправить предупреждение perl api в статусе mythtv.
Установить mythtv-status
обновить sudo apt-get sudo apt-get установить mythtv-status
Редактировать mythtv- статус, чтобы отразить мои изменения.
sudo gedit /usr/bin/mythtv-status
Вокруг строки 21. Измените localhost на ip-адрес бэкэнда
my $host = "localhost";
В моем случае он меняется на.
my $host = "192.168.15.3";
Отредактируйте файл .conkyrc, чтобы добавить вывод.
gedit ~.conkyrc
В верхней части добавьте:
text_buffer_size 1024
В нижней части добавьте
${color #0077ff} ${execi 300 perl /usr/bin/mythtv-status KISP}
Измените цвета в соответствии с вашими текущими Конфиг .conkyrc
Запустить conky для проверки.