HOW-TO Installing XBMC for Ubuntu 9.10 + LIRC + AutoRun

HOW-TO Installing XBMC for Ubuntu 9.10 + LIRC + AutoRun

Step 1: Установка Ubuntu 9.10

Устанавливаем Ubuntu 9.10 стандартным десктопным
Будем считать что у нас домашняя сеть со следующими параметрами
Имя ПК: xbmc
IP address static: 192.168.1.5
Network: 192.168.1.0
Gateway: 192.168.1.1 # ADSL настроен в виде роутера

Step 2: Настройка сетевого интерфейса eth0
Запускаем терминал.
Удаляем avahi-daemon и network-manager-gnome командой:

Код:
$ sudo aptitude remove avahi-daemon network-manager

Редактируем /etc/hosts и добавляем следующую строчку:

Код:
$ sudo nano /etc/hosts

127.0.0.1    xbmc
127.0.1.1    xbmc
192.168.1.5    xbmc xbmc.local
...

Сохраняемся!!!

Редактируем /etc/hostname

Код:
$ sudo nano /etc/hostname

xbmc

 

Редактируем файл /etc/network/interfaces

$ sudo nano /etc/network/interfaces


auto lo

iface lo inet loopback


auto eth0

iface eth0 inet static

address 192.168.1.5 #IP адресс компьютера в домашней сети

netmask 255.255.255.0 #Маска подсети

network 192.168.1.0 #Сеть в которой находится ПК

broadcast 192.168.1.255

gateway 192.168.1.1 # Шлюз в нашей домашней сети


Сохраняемся!!!


Перезапускаем интерфейс командой:

$ sudo /etc/init.d/networking restart

Заходим в веб интерфейс нашего роутера и ищем в нем IP адрес DNS сервера,который был дан нам провайдером, записываем его
Переходим в терминал и редактируем файл /etc/resolv.conf

Код:
$ sudo nano /etc/resolv.conf

nameserver XXX.XXX.XXX.XXX     # IP адрес DNS сервера с роутера

Сохраняемся и перезапускаем сетевой интерфейс командой:

Код:
$ sudo /etc/init.d/networking restart

Все интернет у нас появился.

Step 3: Обновление Ubuntu 9.10

Даем команды для обновления:

Код:
$ sudo aptitude update
.....

$ sudo aptitude upgrade
.....

Step 4: Устанавливаем XBMC 9.11
Взято с основного сайта xbmc.org
(http://xbmc.org/wiki/?title=HOW-TO_install_XBMC_for_Linux_on_Ubuntu%2C_a_Step-by-Step_Guide#Installing_XBMC_Ubuntu_9.10_Karmic_or_higher)

Добавляем в source.list репы XBMC командой:

Код:
$ sudo add-apt-repository ppa:team-xbmc

Обнавляем репозитории командой
Код:
$
sudo apt-get update

Устанавливаем XBMC командой:
$
sudo apt-get install xbmc

Еще раз обнавляем репозитории:
Код:
$
sudo apt-get update

При такой установке Вам не нужно будет добавлять PPA ключи. XBMC уже установлен.

STEP 5: Автоматический вход в систему

Так как я делаю мультимедия сервер, он у меня собран на Atom 330 + miniATX(90W) + HDD 1Tb + miniDVDRW
мне необходимо сделать автоматический вход в систему, чтобы не вводить каждый раз Логин и Пароль пользователя.
Следовательно делаю следующее:
Иду: Система -> Администрирование -> Экран входа в систему (
System -> Administration -> Login Window)
Нажимаю кнопочку: Разблокировать и ввожу пароль пользователя User (например)
Далее нажимаю кнопку: Закрыть.


Вот в принципе вся установка завершена, но не полностью. Нам необходимо не затратив больших средств сделать лентяйку для нашего медиа сервера. Перерыв кучу сайтов, нашел несколько решений, но до конца описанных как все прикручивать и делать так и не нашел, пришлось все что перерыл автоматизировать и плясать с бубном, что бы все запустилось как надо.

Step 6: Пайка IR приемника для медиасервера.

Сразу не надо ужасаться, потому что ничего сложного нет вообще. Когда-то еще по молодости ходил на радиокружок, так что навыки пайки сохранились довольно хорошие, и тем более тут под руку попалось несколько старых плат, от видеомагнитофона. Схема очень проста, даже проще некуда. Взял IR приемник с того же видеомагнитофона.  COM разъем купил, он не дорогой. А схема вот такая:

 

 


А ниже приведены 2 вида 5-ти вольтовых ИК-приемников.

Обязательно надо что бы ИК-приемник был 5-ти вольтовый. Даже не задумываясь, выпаял несколько резисторов с этой же платы видеомагнитофона, и диод, даже не зная марки его. Резисторы даже номиналом не такие были, меньше у меня получились. Все собрал на соплях, но только аккуратно, засунул в маленький коробочек,  и подключил к COM1  компьютера. Далее у меня пошли пляски и танцы с бубном, но оказалось ничего сложного.

Step 7: Установка LIRC
Устанавливаем LIRC командой:

Код:

$ sudo aptitude install lirc liblircclient0  lirc-modules-source setserial

Нам выкинет окно с выбором IR приемника, честное слово я незнал какой именно выбирать, выбрал примерно 16550A port Srial port, а на следующий вопрос ответил Custom, выбрал /dev/ttyS0 и все.

В файле /var/lib/setserial/autoserial.conf удаляем все и прописываем это если приемник на СОМ1:

Код:
$ nano /var//lib/setserial/autoserial.conf

/dev/ttyS0 uart none

или это если приемник на СОМ2.

/dev/ttyS1 uart none

Копируем этот файл в /etc

Код:

$ sudo cp /var/lib/setserial/autoserial.conf /etc/serial.conf

Подгружаем собранный модуль:

Код:
$ sudo modprobe lirc_serial

смотрим подгрузился он или нет

Код:
$ lsmod | grep lirc

У меня получилось следующее:

user@xbmc:~$ lsmod | grep lirc
lirc_serial            11892  0
lirc_dev               10804  1 lirc_serial

Потом надо было проверить само устройство, вообще оно работает???

Набираю:

Код:

$ mode2

Мне выдало ошибку:
user@xbmc:~$ mode2
mode2: could not get file information for /dev/lirc
mode2: default_init(): No such file or directory

Набираю от root:

$ sudo mode2

user@xbmc:~$ sudo mode2
[sudo] password for moderator:
mode2: could not get file information for /dev/lirc
mode2: default_init(): No such file or directory

что за фигня, делаю символьную ссылку на /dev/lirc

Код:
$ sudo ln -s /dev/lirc0 /dev/lirc

Запускаю:

$ sudo mode2

Беру пульт старый как раз от того видеомагнитофона который уже давно отошел в мир иной, и начинаю клацать на кнопочки направляя на свой ИК приемник, уаля, у меня побежали вот такие цыфры.

space 1831558
pulse 9076
space 4451
pulse 610
space 1652
pulse 589
space 517
pulse 615
space 519
pulse 640
space 493
pulse 592
space 1653
pulse 643
space 1606


Значит ИК-приемник работает, и пульт еще тоже живой. Так что части моего старого видеомагнитофона оживают.
Редактируем файлик /etc/lirc/hardware.conf удаляем все и вписываем нижние строчки
Код:

$ sudo nano /etc/lirc/hardware.conf

LOAD_MODULES=true
MODULES="lirc_serial"
LIRCD_CONF="/etc/lirc/lircd.conf"

REMOTE_DEVICE="/dev/lirc0"

Рестартим lirc

$ sudo /etc/init.d/lirc restart

sudo /etc/init.d/lirc restart
* Stopping remote control daemon(s): LIRC                               [ OK ]
* Loading LIRC modules                                                              [ OK ]
* Starting remote control daemon(s) : LIRC                               [ OK ]


Теперь мне осталось сделать конфиг моего пульта, который от видеомагнитофона
Для создания своего конфига запускаем специальную программу:

Код

$ sudo irrecord -d /dev/lirc0 ~/lircd.conf

Нажимаем 2 раза Enter. Здесь нас просят понажимать кнопки на пульте, должны пройти две полоски по 80 точек. После этого появится приглашение ввести имя считываемой кнопки, а только потом нажать эту кнопку для записи в конфиг

Код

Please enter the name for the next button (press to finish recording)

Вводим имя кнопки (например: Menu) и жмем Enter, нажимаем кнопку Menu на пульте, и повторяем это для всех остальных кнопок пульта. Главное при создании конфига пульта не медлить, если программа не дождется от вас действий в течении 5 сек, то она оборвет создание конфига и прийдется начинать все с начала.
Записанный конфиг копируем в /etc/lirc/lircd.conf

Код

$ sudo cp ~/lircd.conf /etc/lirc/lircd.conf

НЕмного отредактируем файлик /etc/lirc/lircd.conf

$ sudo nano /etc/lirc/lircd.conf

и изменим в поле name, где у нас прописан путь, просто удалим, и напишем например myir

(Например)

cat /etc/lirc/lircd.conf

# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.8.6(default) on Fri Dec 11 01:23:03 2009
#
# contributed by
#
# brand:                       /root/lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#

begin remote

name  myir
bits           16
flags SPACE_ENC|CONST_LENGTH
eps            30
aeps          100

header       9075  4448

[...]

Сохраняемся

Проверить как работает пульт можно командой irw, она же показывает имя нажимаемой кнопки

Код:
user@xbmc:~$ irw
000000008c73817e 00 Power myir
000000008c73837c 00 Up myir
000000008c73a35c 00 Enter myir


Теперь осталось только создать конфиг для приложений, которыми мы будем управлять дистанционно. Управляться с LIRC могут не все приложения, а только те которые имеют его поддержку. Но XBMC точно поддерживает lirc.

Цели:
1. Запуск XBMC с кнопки пульта Power
2. Конфигурирование XBMC управления с пульта

Step 8: Настройка запуска XBMC  с кнопки пульта Power

Заходим в терминал, и в папке /home/user/ создаем файл .lircrc и заполняем следующими строчками

Код:
$ cd /home/user
$ sudo touch .lircrc
$ sudo nano .lircrc


begin
prog = irexec
button = Power
config = sh ~/.scripts/irexec/xbmc.sh
end

Далее в папке /home/user/ создаем следующие директории /.scripts/irexec  и создаем файлик xbmc.sh

$ sudo mkdir .scripts
$ cd .scripts
$ sudo mkdir irexec
$ cd irexec
$ sudo touch xbmc.sh
$ sudo nano xbmc.sh

#/bin/sh

if [ "`ps -C xbmc.bin -o comm=`" != 'xbmc.bin' ]; then
nohup xbmc &
exit 1
fi

Огромную благодарность приношу за помощь в этом Виталию Катраеву  по нику Zawullon.

Теперь при запуске в консоле irexec  и нажатии кнопки Power на пульте, запускается XBMC

Step 9: Настройка XBMC, для управления с пульта ДУ.

Раньше в старых версиях xbmc необходимо было настраивать файл Lircmap.xml в папке /home/user/.xbmc/userdata/Lircmap.xml , а сейчас в данной версии, надо просто будет отредактировать файл Lircmap.xml в папке /usr/share/xbmc/system и вписать туда названия наших кнопок.

В данном файле можно просто дописав свою конфигурацию под свой пульт, но я не стал себя сильно утруждать, и исправил прямо в первой же конфигурации под свои нужды.

Осталось последнее, добавить запуск irexec в автозапуск

Step 10: Автозапуск irexec

Идем в Система -> Параметры -> Запускаемые приложения -> Добавить
Имя: Запуск Irexec
Команда: irexec -d

Сохраняемся и перезапускаем систему. Все. С настройкой видеокарты для ТВ, я думаю осложнений не вызовет. А настройка самого xbmc для просмотра, видеорежима, калибровки и локализации ничего сложного. Могу добавить, для перевода на русский шрифт, выберите в настройках, язык Русский, и обязательно укажите Шрифт Arial, и будет у вас русский XBMC

Огромное спасибо за помощь, Виталию Катраеву и evgsd c linuxforum.ru

 

Теперь при запуске моего медиасервера, он автоматически логинется, и по кнопке Power на пульте ДУ у меня запускается XBMC. Ну и конечно же выключается по той же кнопке.