Плагин
OSDShell, версия
0.6.
Плагин является промежуточным вариантом между
UserRunGUI и
4color, с которыми должны быть знакомы обладатели S-линейки. При нажатии на функциональные (цветные) кнопки пульта (
красную,
зелёную,
жёлтую и
синюю) будет происходить выполнение команд Linux. Это значит, что Вы без труда сможете перезагружать ресивер нажатием всего одной кнопки, перезапускать эмуляторы, пинговать сервера и делать многое другое, чем богата командная строка Linux спутниковых ресиверов Openbox SX-серии.
Любую кнопку при помощи файла конфигурации всегда можно отключить/включить, можно заблокировать выполнение стандартно назначенной для неё функции (например, выбор звуковой дорожки при нажатии на
жёлтую кнопку), можно выводить результат выполнения команды на виртуальную консоль (то есть экран вашего телевизора), параметры которой кстати тоже можно настраивать и, конечно, результат выполнения команд всегда можно увидеть в лог-файле.
Установка стандартная: файлы из папки
bin размещаем по пути
/var/bin, из папки
etc - по пути
/var/etc, из папки
scripts - в папку
/var/scripts, которую вам, скорее всего, придётся создать. Сделать это можно, использую Samba или FTP-соединение. Структура каталогов в архиве сохранена.
Запуск/остановка и прописывание плагина в автозагрузку выполняется стандартно через меню плагинов (
Меню -->
Плагин). Не забываем назначить права 755 (командой
chmod) исполняемому файлу плагина
/var/bin/OSDShell и скриптам в каталоге
/var/scripts.
Настройка параметров плагина осуществляется через конфигурационный файл
/var/etc/OSDShell.cfg. Рассмотрим кратко его структуру.
Корневые разделы
Position,
Font и
Color отвечают за параметры выводимого текста на экран телевизора (так называемую виртуальную консоль, если такая опция активирована (см. ниже)).
posX и
posY задают верхний левый угол по оси X и Y соответственно. Параметр
time определяет время в секундах отображения консоли на экране после окончания выполнения команд скрипта. Можно задать 0, тогда консоль будет сразу скрываться после окончания выполнения скрипта, максимально можно поставить 300 (то есть 5 минут). Параметр
family задаёт путь к шрифту,
size определяет его размер, а
indent - вертикальный отступ между строками.
font и
back задают цвета шрифта и фона (как задаются цвета, можно посмотреть
здесь).
Корневые разделы
Red,
Green,
Yellow и
Blue описывают параметры срабатывания соответствующих кнопок пульта (
красная,
зелёная,
жёлтая и
синяя). Любой из этих разделов можно опустить (не указывать), тогда считается, что скрипты по нажатию на данную кнопку выполняться не будут. Так же отключить выполнение скрипта для данной кнопки можно указав 0 у параметра
isActive, 1 включает выполнение скрипта. Параметр
blockDefault отвечает за блокировку стандартно закреплённых в прошивке функций (либо отработку данной кнопкой другими плагинами), 1 активирует данный параметр, 0 - деактивирует. Параметр
enableConsole отвечает за отображение виртуальной консоли (вывода результата выполнения команд на экран телевизора), 1 позволяет выводить на экран консоль, 0 - запрещает. Параметром
scriptPath задаётся полный путь к файлу-скрипта.
И отдельно о параметре
runAsSript. При активации данного параметра невозможно следить за ходом выполнения скрипта в силу технических особенностей реализации, поэтому вывод в лог и на консоль даже при активном параметре
enableConsole производится при активированном параметре
runAsScript не будет. Однако включается полная поддержка Shell-сценариев, то есть можно вводить переменные, а так же использовать управляющую логику в виде циклов, условий и т.п.
Если параметр
runAsScript выставлен в
0, то функционировать плагин будет с возможностью вывода результатов выполнения команд на виртуальной консоли и логе, однако с построчным моментальным исполнением команд без поддержки сценариев Linux Shell (собственно говоря, писать
#!/bin/bash и другие конструкции вроде if, else и пр. не нужно, так как они обрабатываться не будут).
Выбирайте, что важнее: сценарные скрипты или возможность видеть линейные результаты выполнения команд на экране телевизора.
Подробный лог работы содержится в файле
/tmp/OSDShell.log, удаляемый каждый раз при полной перезагрузки ресивера. Данный лог всегда содержит результат выполнения скриптов.
Прошу обратить
внимание, что кнопки срабатывают (команды выполняются) только при просмотре каналов (специально отключены в стандартных OSD-меню, медиаплеере и т.п.).
Видео работы плагина: