Со своим домашним сервером я вытворяю всякое: кручу KVM для тестирования всяких штук на виртуалках, 24/7 качаю и раздаю ценные файлы с помощью transmsission-daemon, тщательно настраиваю NFS, обеспечивающий быстрый доступ к файлам, которые надежно лежат на дисковом массиве.

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

Есть отличный медиаплеер Kodi (раньше назывался XBMC). Ставится он на что угодно, хорошо работает и постоянно обновляется.

Мне требуется установить его на свой Ubuntu Server, чтобы не было ничего лишнего, запускался при старте системы и имел своего пользователя, у которого есть доступ только к определенному каталогу.

Установка Kodi

Ничего необычного в установке нет:

sudo add-apt-repository ppa:team-xbmc/ppa

sudo apt-get update

sudo apt-get install kodi xinit

Добавляем репозиторий Kodi, обновляем индекс и ставим Kodi и xinit, который подтянет за собой Xorg.

Добавляем юзера без пароля и при этом с возможным входом в систему. Параметр gecos для того, чтобы команда молча создала юзера, не спрашивая ничего лишнего.

sudo adduser —disabled-password —disabled-login —gecos «» kodi

Добавим пользователя в группы:

sudo usermod -a -G audio kodi

sudo usermod -a -G video kodi

sudo usermod -a -G dialout kodi

sudo usermod -a -G plugdev kodi

sudo usermod -a -G tty kodi

Автозапуск при включении

Разрешим любым юзерам запускать иксы:

Для этого в конфиге /etc/X11/Xwrapper.config строку allowed_users=console меняем на allowed_users=anybody

Создаем скрипт для автозапуска

sudo nano /etc/init/kodi.conf

# kodi-upstart
# starts Kodi on startup by using xinit.
# by default runs as kodi, to change edit below.
env USER=kodi

description "Kodi-barebones-upstart-script"
author "Matt Filetto"

start on (filesystem and stopped udevtrigger)
stop on runlevel [016]

# tell upstart to respawn the process if abnormal exit
respawn

script
exec su -c "xinit /usr/bin/kodi-standalone -- -nocursor :0" $USER
end script

Включаем звуковую карту

Что бы получить звук с аналоговой звуковой карты, например, встроенной в материнку, нужно установить Alsa:

sudo apt-get install alsa alsa-tools

Переключимся на нашего пользователя

sudo su kodi

и запустим инструментарий Alsa

alsamixer

alsamixer ubuntu kodi

Управление осуществляется стрелками. Можно настроить много всего разного. Но мне было достаточно просто включить звук (для этого выбираем Master и нажимаем кнопку M) и отрегулировать  уровень громкости так, чтобы в будущем регулировать уровень только через сам медиаплеер. Выход — Esc.

Кстати, через hdmi порт видеокарты интегрированные колонки телевизора заработали сразу.

Права доступа

Для каталога(ов), который(е) будет(ут) использоваться как источник(и) медаконтента, надо настроить права. У меня каталог torrents, в который transmission качает торренты, соответственно разрешен для чтения и записи группе debian-transmission. Проще всего добавить пользователя kodi в эту группу:

sudo usermod -a -G debian-transmission kodi