Итак, закончим рассмотрение этого эмулятора. Как мы ранее видели автор рекомендует запуск:
/usr/bin/wicardd-mipsel –d
параметр –d определяет запуск эмулятора в режиме daemon
Режим daemon - является фоновым процессом, который разработан специально для автономной работы, с минимальным вмешательством пользователя или вообще без него.
Что это значит?
Это значит что один раз запустили – и он постоянно вертится в процессах.
Этот режим запуска характерен для случая использования Викарда как единственного эмулятора на ресивере (те без использования камд менеджера).
Рассмотренный ранее вариант запуска ( с использованием S99we3) правильнее было бы организовать следующим образом – скрипт переименовать (нр в we3) поместить его в директорию init.d, а в директории rcS.d создать симлинк на него. Но это не критично.
Однако использование камд менеджера при такой командной строке запуска не проходит, тк при запущенном уже процессе мы будем повторно давать запуск того же эмулятора, в итоге – малевич
Те при написании скрипта (с использованием камд менеджера) строка запуска не должна иметь параметр запуска
– d
Теперь о камд менеджере.
Камд менеджер – это плагин для организации работы нашего ресивера с различными эмуляторами на наше усмотрение. Камд менеджер воспринимает свои скрипты и передает их выполнение в нашем случае в корневой каталог (ранее мы его рассматривали – /etc)(если память не изменяент для OpenPli 3.0 софткам – передает выполнение скрипта в init.d)
Те скрипты для камд менеджера – уникальны (это значит что скрипты от одного камд менеджера не факт что подойдут к другому)
Как же правильно тогда написать (подогнать) скрипт для камд менеджера?
1 если плагин открыт - можно посмотреть листинг – на его основе
2 код плагина часто закрыт
В этом случае за основу взять рабочий скрипт от другого эмулятора и переделать его
(рассмотрим как)
На скрине ранее я уже выкладывал внешний вид камд менеджера, уже установленного и имидж которым я пользуюсь
Для него в папке script есть папка camd где находятся скрипты камд менеджера для запуска эмуляторов
Вот один из них
Oscam_dre.sh
#!/bin/sh
Action=$1
OSD="Oscam_dre"
cam_clean () {
rm -rf /tmp/*.info* /tmp/*.tmp*
}
cam_up () {
cam_clean
sleep 2
/usr/bin/oscam_dre -- -b -r 2 -c /etc/tuxbox/config
}
cam_down() {
killall -9 oscam_dre
cam_clean
sleep 8
}
if test "$Action" = "cam_up" ; then
cam_up
elif test "$Action" = "cam_down" ; then
cam_down
elif test "$Action" = "cam_res" ; then
cam_down
cam_up
fi
exit 0
Общая структура скрипта:
Первая часть скрипта – заголовок состоит из хэшбэнга, указывающего какой интерпретатор использовать.
Это #!/bin/sh
Служебная информация
Action=$1 – переменная выбора действия
OSD="Oscam_dre" – название эмулятора, которое будет отображаться
Организация выбора эмулятора и передачи выбранного скрипта на выполнение:
Сам скрипт запуска процесса (эмулятора) . Корректный запуск процесса включает в себя :
Предварительную очистку используемых временных папок
cam_clean () {
rm -rf /tmp/*.info* /tmp/*.tmp*
}
Команда удаляет указанные файлы вместе с рекурсивным удалением всех каталогов и подкаталогов
Непосредственно скрипт запуска эмулятора
cam_up () {
cam_clean
sleep 2
/usr/bin/oscam_dre -- -b -r 2 -c /etc/tuxbox/config
}
полное закрытие всех запущенных процессов эмулятора
cam_down() {
killall -9 oscam_dre
cam_clean
sleep 8
Вроде все ясно – берем этот скрипт за основу и пишем свой
#!/bin/sh
Action=$1
OSD="WiCard 1.13"
cam_clean () {
rm -rf /tmp/*.info* /tmp/*.tmp*
}
cam_up () {
cam_clean
sleep 2
/usr/bin/wicardd-mipsel -c /etc/tuxbox/config/wicardd.conf
}
cam_down() {
sleep 4
killall -9 wicardd-mipsel
sleep 2
cam_clean
}
if test "$Action" = "cam_up" ; then
cam_up
elif test "$Action" = "cam_down" ; then
cam_down
elif test "$Action" = "cam_res" ; then
cam_down
cam_up
fi
exit 0
Все
Права 755
В папку camd
Результат