This is an old revision of the document!
Table of Contents
Kodi
Kodi è il nuovo nome di XBMC, a partire dalla versione 14. Vedere le vecchie pagine XBMC Media Center e Raspberry PI mediacenter con OpenELEC, perché gran parte degli appunti restano validi.
Su Debian 9 Stretch
Si è preferito installare il pacchetto da deb-multimedia.org piuttosto che quello ufficiale fornito da Debian, sia perché è una versione più recente (17.6 invece di 17.1) sia per gestire al meglio le dipendenze da codec proprietari che in Debian non ci sono, ma sono presenti in Deb-Multimedia.
La pacchettizzazione Debian di Kodi dipende da xserver-xorg, tuttavia non abbiamo installato un login manager (lightdm, gdm, o simili) quindi l'host si avvia con il login su console testuale.
È stato necessario installare i seguenti pacchetti con le loro dipendenze:
- kodi
- kodi-standalone
- libgl1-mesa-dri
La formula per avviare kodi suggerita da kodi.wiki è la seguente:
/usr/bin/xinit /usr/bin/dbus-launch --exit-with-session \ /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7
Senza il pacchetto libgl1-mesa-dri l'avvio di xinit/kodi falliva, lasciando nel kodi_crashlog-*.log questo errore:
ERROR: Failed to find matching visual
Per consentire all'utente non privilegiato kodi (creato apposta) di avviare Kodi è stato necessario modificare il file /etc/X11/Xwrapper.config, mettendo le righe:
allowed_users=anybody needs_root_rights=yes
In alcuni post viene consigliato anche di eseguire dpkg-reconfigure x11-common
. Senza queste modifiche l'esecuzione di xinit/kodi da parte dell'utente non-root dava il seguente errore del server X:
Fatal server error: (EE) xf86OpenConsole: Cannot open virtual console 7 (Permission denied)
L'utente kodi appartiene ai gruppi di sistema audio, video e plugdev. Il pacchetto policykit-1 è installato, ma non sono state fatte personalizzazioni. In queste condizioni il menu Power di Kodi consente il reboot e lo spengimento anche all'utente non privilegiato.
L'esecuzione xinit/kodi funziona a questo punto da utente non privilegiato, sia da console locale che da terminale remoto. Per avviare il servizio kodi al bootstrap si è creata una unit systemd:
[Unit] Description = Kodi Media Center # if you don't need the MySQL DB backend, this should be sufficient After = systemd-user-sessions.service network.target sound.target # if you need the MySQL DB backend, use this block instead of the previous # After = systemd-user-sessions.service network.target sound.target mysql.service # Wants = mysql.service [Service] User = kodi Group = kodi Type = simple ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7 Restart = always RestartSec = 15 [Install] WantedBy = multi-user.target
e quindi si è installato, abilitato e avviato il servizio:
systemctl daemon-reload systemctl enable kodi.service systemctl start kodi.service
Su Debian 7 Wheezy
Si installa facilmente su Debian Wheezy, basta aggiungere i repository:
deb https://people.debian.org/~rbalint/ppa/xbmc-ffmpeg xbmc-ffmpeg-wheezy-backports/ deb http://http.debian.net/debian wheezy-backports main contrib non-free
Seguire le istruzioni del repository, in sintesi:
apt-get install debian-keyring apt-get install apt-transport-https gpg --keyring /usr/share/keyrings/debian-keyring.gpg -a --export 21E764DF | sudo apt-key add -
Quindi installare i seguenti pacchetti:
- alsa-base e alsa-utils per il supporto audio.
- x11-common e xinit per poter avviare l'ambiente grafico. Non serve un ambiente desktop completo.
- kodi e kodi-bin il software media center vero e proprio.
- upower e acpi-support per gestire lo spengimento/reboot dai menu di Kodi.
Quando serve una dipendenza necessariamente dai bacports:
apt-get -t wheezy-backports install libtag1c2a
Si crea un utente kodi per mandare in esecuzione il software omonimo, deve appartenere ai vari gruppi Debian quali audio, video, plugdev, ecc.
Script start/stop
Lo script per avviare Kodi automaticamente al bootstrap è stato preso dalla pagina Autostart Kodi for Linux, opportunamente aggiornato per il passaggio di nome XBMC → Kodi.
Aggiornamento delle miniature
Per ogni video è possibile visualizzare una miniatura personalizzata al posto di quella creata automaticamente; basta mettere un file JPG oppure PNG nella stessa directory del file video, chiamandolo con lo stesso nome e l'estensione .tbn.
Queste immagini vengono salvate in una cache e in un database, quindi aggiornarle non è semplice. Un metodo drastico è eliminare il file $HOME/.kodi/userdata/Database/Textures13.db
e i file in $HOME/.kodi/userdata/Thumbnails/
.
Pare che esista uno script più efficace: Texture Cache Maintenance utility.
Layout tastiera italiana
On-Screen keyboard
Stranamente Kodi 14.0 su Debian Wheezy non include il layout italiano per la tastiera on-screen (cioè quella utilizzabile anche con il telecomando o il mouse). I vari layout sono definiti nel file /usr/share/kodi/system/keyboardlayouts.xml
e pare che non sia possibile creare un file personalizzato con layout aggiuntivi (almeno con la versione 14 Helix). Questo è un problema perché se si modifica il file, questo sarà sostituito durante un aggiornamento di Kodi.
Ad ogni modo si deve aggiungere una sezione del tipo:
<layout name="Italian QWERTY"> <keyboard> <row>1234567890'ì</row> <row>qwertyuiopè+</row> <row>asdfghjklòàù</row> <row>zxcvbnm,.-</row> </keyboard> <keyboard modifiers="shift"> <row>1234567890?^</row> <row>QWERTYUIOPé*</row> <row>ASDFGHJKLç°§</row> <row>ZXCVBNM;:_</row> </keyboard> <keyboard modifiers="symbol,shift+symbol"> <row>/\|@€#[]<>`~</row> <row>!"£$%&()='?</row> <row><>,.-+*_^§ç</row> </keyboard> </layout>
Quindi dall'interfaccia Kodi si seleziona quali layout tenere a disposizione (se sono più di uno sarà possibile cambiare da uno all'altro durante l'input da tastiera virtuale):
- Sistema, Impostazioni, Aspetto
- Livello impostazioni ⇒ Standard (o superiore)
- Internazionale ⇒ Layout della tastiera
Tastiera hardware
Kodi 14.0 su Debian Wheezy ha un bug per cui la tastiera localizzata non funziona: quando si digita un input con la tastiera fisica nell'interfaccia di Kodi, è attivo sempre il layout US. Questo nonostante che il sistema sia configurato correttamente (la console ad esempio produce le lettere accentate come deve essere):
dpkg-reconfigure locales
dpkg-reconfigure keyboard-configuration
Neanche creando un file /etc/X11/xorg.conf.d/00-keyboard.conf
con l'opportuna sezione InputClass
e l'opzione XkbLayout
si ottiene la localizzazione (eppure la direttiva viene caricata, come si può verificare da /var/log/Xorg.0.log
).
Ancor più stranamente: se da una terminale virtuale (Alt+F1) si modifica l'impostazione della tastiera, allora Kodi inizia a funzionare correttamente, senza neanche riavviarlo:
export DISPLAY=:0 setxkbmap it
Il tutto è molto strano, poichè le impostazioni mostrate con setxkbmap -print -verbose 10
non cambiano prima e dopo aver dato il comando. Tutto sommato pare che il workaround migliore sia quello di impostare un autoexec per Kodi in /home/kodi/.kodi/userdata/autoexec.py
:
import os os.system("setxkbmap it")