06 декабря | 2019г. | 12:12:16

АвторТема: Плагин OSDShell (без обсуждения)  (Прочитано 1657 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн StuartАвтор темы

  • Мастер Джедай
  • **
  • Сообщений: 419
  • Поблагодарили: 1137
Плагин 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-меню, медиаплеере и т.п.).

Видео работы плагина:

<a href="https://www.youtube.com/watch?v=HSfkBQwwPNs" target="_blank">https://www.youtube.com/watch?v=HSfkBQwwPNs</a>


Vitaliy69

Оффлайн StuartАвтор темы

  • Мастер Джедай
  • **
  • Сообщений: 419
  • Поблагодарили: 1137
Плагин OSDShell (без обсуждения)
« Ответ #1: 04 июля | 2015г. | 01:12:05 »
Плагин OSDShell, версия 0.7.

Изменено:
  • Перевод на новую версию тулчейнов для сборки (gcc 4.9.3, glibc 2.21, binutils 2.25)
  • Исправлены ошибки, приводившие к некорректному чтению параметров конфигурационного файла (при наличии "лишних" пробелов, символов табуляции или символа комментариев)
  • Поскольку плагинами пользуются наши друзья за рубежом - все информационные сообщения на экране и в лог-файле теперь выводятся на английском языке
  • Добавлена возможность отключать текстовый лог /tmp/OSDShell.log, а так же использовать сетевой Syslog

По последнему нововведению в файл конфигурации /tmp/OSDShell.cfg добавлена секция:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Если значение параметра enableTextlog равно 0, то вывод в текстовый лог отключен, иначе - включен (по умолчанию). Параметры syslogport и sysloghost задаются соответственно порт и IP-адрес. Для снятия Syslog можно использовать программу TraySyslog. В конфиг-файле должен быть выставлен IP-адрес компьютера, на котором будет сниматься лог, порт  должен быть таким же, как в настройках TraySyslog.

Для всех ресиверов Fortis STI H205.
Vitaliy69

Оффлайн StuartАвтор темы

  • Мастер Джедай
  • **
  • Сообщений: 419
  • Поблагодарили: 1137
Плагин OSDShell (без обсуждения)
« Ответ #2: 24 июля | 2015г. | 20:30:56 »
Плагин OSDShell, версия 0.8.

Изменено:
  • Перевод сборки на STLinux 2.3
  • Адаптация для совместимости как с S (версия прошивки должна быть не меньше 2.11.70), так и SX-линейкой (версия прошивки должна быть не меньше 3.01.20)

Внимание! Бинарный файл может работать как на S, так и SX-линейки в силу своей универсальности. Однако в прилагаемом в архиве в конфигурационном файле проставлены оптимальные значения по умолчанию для SX-линейки (STi H205). В комментарии к каждому параметру так же указаны оптимальные значения и для S-линейки (STi 7xxx). Не забудьте поменять их! При запуске плагина без файла конфигурации для каждой линейки будут загружены свои оптимальные значения и указаны в файле лога.
Vitaliy69

Оффлайн StuartАвтор темы

  • Мастер Джедай
  • **
  • Сообщений: 419
  • Поблагодарили: 1137
Плагин OSDShell (без обсуждения)
« Ответ #3: 15 октября | 2016г. | 17:39:12 »
Плагин OSDShell, версия 0.9.

Изменено:
  • Перевод на компилятор gcc 4.8.5
  • Оптимизирована внутренняя логика работы, устранены утечки памяти
  • Изменено именование некоторых параметров в конфигурационном файле (обратите внимание - старые конфиги по данной причине могут быть считаны не полностью)
  • Исправлены орфографические ошибки в логах на английском языке

Внимание! Только для новой SX-линейки, владельцем S-линейки рекомендовано оставить предыдущую версию 0.8.
Vitaliy69

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2851 Просмотров
Последний ответ 15 октября | 2016г. | 17:38:33
от Stuart
4 Ответов
2053 Просмотров
Последний ответ 15 октября | 2016г. | 17:39:59
от Stuart
3 Ответов
1363 Просмотров
Последний ответ 15 октября | 2016г. | 17:36:58
от Stuart
3 Ответов
1673 Просмотров
Последний ответ 15 октября | 2016г. | 17:37:42
от Stuart
0 Ответов
535 Просмотров
Последний ответ 27 июня | 2015г. | 00:48:39
от Stuart



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!