Clone
1
KODI media server
me edited this page 2026-01-21 19:30:28 +03:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

При запуске/рестарте сервера автоматически запускается Kodi приложение от пользователя tv (авто юзер без пароля и без sudo прав)

Установка графической базы

sudo apt update
sudo apt install --no-install-recommends \
  xorg xserver-xorg-legacy \
  openbox \
  dbus-x11 \
  xinit

xorg (X / X11) - графический сервер для работы с видеодрайвером — нужен для HDMI/GUI openbox — простой windows manager для стабильности (фокус / стабильный ввод) xinit — чтобы запускать X без display managerа (мы запускаем автоматически через systemd)

Установка Kodi

sudo apt install kodi

Пользователь tv без sudo и без пароля

sudo adduser --disabled-password --gecos "" tv
sudo usermod -aG audio,video,input,render tv
  • Группы нужны для HDMI, звука, пульта

Автостарт X + Kodi для пользователя tv

sudo nano /home/tv/.xinitrc

Содержимое

#!/bin/sh

# отключает DPMS (Display Power Management Signaling)
# X не будет:
# - гасить экран
# - уводить монитор в sleep/standby/off
# HDMI-сигнал остаётся активным
xset -dpms

# отключает X screensaver (таймер бездействия)
xset s off

# запрещает «чёрный экран» вместо screensaver
xset s noblank

exec kodi-standalone
sudo chown tv:tv /home/tv/.xinitrc
sudo chmod +x /home/tv/.xinitrc

Разрешаем запуск X без root

sudo nano /etc/X11/Xwrapper.config

allowed_users=anybody
needs_root_rights=no

Автологин без display manager (через systemd)

Создаём сервис

sudo nano /etc/systemd/system/kodi.service

[Unit]
Description=Kodi Media Center
After=systemd-user-sessions.service
Conflicts=getty@tty1.service

[Service]
Type=simple

User=tv
PAMName=login

TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes


StandardInput=tty
# StandardInput=tty заставляет systemd реально “подцепить” сервис к tty1

StandardOutput=journal
StandardError=journal

# Явно забираем VT1 и оставляем tty за X
ExecStart=/usr/bin/startx -- :0 vt1
# убираем -keeptty (он часто конфликтует с тем, как systemd управляет VT)
Restart=always
RestartSec=2

[Install]
WantedBy=multi-user.target

Активируем

sudo systemctl enable kodi.service

Если меняем и перезапускаем:

sudo systemctl daemon-reload sudo systemctl restart kodi.service --no-block

--no-block нужен чтобы не блокировать текущую ssh сессию админа

Хранилище

/srv/photo и /srv/media

монтируем в домашние директории юзерам

ln -s /srv/photo /home/vk/photo --force sudo -u tv ln -s /srv/photo/ /home/tv/photo --force