Довольно необычный пост, для публикации на тематических блогах он слабоват, а с другой стороны может быть кому-то полезен.
Мы имеем Raspberry Pi, model B с установленным raspbian:
root@raspberrypi:/etc# uname -a
Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux
Есть задача использовать его в качестве элемента видеостены. Мы в нашей задаче имеем 10 панелей по 42 дюйма и соответственно 10 raspberry pi.
Каждый из них подключается HDMI-кабелем к видеопанели (по сути, видеопанель — обычный телевизор, но не в нашем случае, мы используем именно экраны, предназначенные для организации видеостен, они не имеют BNC-разъемов для подключения антенны).
Задача 1 после подключения — настроить параметры видеовывода. Загрузочный конфиг находится по пути /boot/config.txt
Там есть пункт:
# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=1
hdmi_mode=16
Нужное значение для интересующего разрешения можно взять здесь — http://ubuntu-russian.ru/opisanie-parametrov-fajla-config-txt-v-raspberry-pi/
Задача 2 — добавить браузер в автозагрузку.
Сначала подготовим скрипт, который будет стартовать иксы и запускать браузер:
root@raspberrypi:~# cat run.sh
#!/bin/sh
startx&
export DISPLAY=»:0″
a=`cat /root/url`
midori $a &
sleep 5
midori -e Fullscreen
sleep 5
midori -e TabCloseOther
Этот скрипт стартует иксы, переключает вывод дисплея в порт 0, берёт заранее созданный файл url, который содержит ссылку и передаёт его браузеру. После этого разворачивает экран в FullScreen и закрывает все вкладки, кроме последней открытой.
Дело за малым — добавить этот скрипт в автозагрузку. Для этого нам подойдёт /etc/rc.local
Добавляем туда следующий кусочек:
nohup /root/run.sh&
exit 0
Теперь после загрузки скрипт успешно выполняется и браузер запущен.
Из-за того, что дефолтный браузер течёт, его приходится регулярно перезагружать.
Пишем такой скрипт:
root@raspberrypi:~# cat rerun_midori.sh
killall midori
export DISPLAY=»:0″
a=`cat /root/url`
midori $a &
sleep 5
midori -e Fullscreen
sleep 5
midori -e TabCloseOther
И добавляем его в крон:
# m h dom mon dow command
0 */1 * * * /bin/sh /root/rerun_midori.sh
Профит. В следющем посте я расскажу, как я придумал управление видеостеной через web-интерфейс.