Frontend

Le frontend s'installe avec les paquets provenant de deb-multimedia. Ajouter ce repository puis installer le paquet mythtv-frontend :

sudo apt-get install mythtv-frontend

X11 Autologin

Pour que la session graphique se lance automatiquement au démarrage, plusieurs solutions sont disponibles : utiliser un gestionnaire de login graphique type lightdm, xdm, gdm… ou le faire à la main. J'ai, bien sûr, choisi la dernière solution 8-). Cela consiste à démarrer xinit avec le user voulu, c'est un lanceur X exécutant le script ~/.xinitrc qui lance les différentes applications que l'on souhaite. Celui-ci doit être bloquant : tant qu'il ne rend pas la main, X tourne. J'ai choisi le gestionnaire de fenêtre openbox pour sa légèretée.

Pour commencer, supprimer le(s) gestionnaire(s) de login :

sudo apt-get remove --purge lightdm xdm gdm

Créer un service systemd, celui ci sera en charge de lancer xinit avec le user mythtv au boot :

/etc/systemd/system/xinit-login.service
[Unit]
After=systemd-user-sessions.service
 
[Service]
ExecStart=/bin/su mythtv -l -c /usr/bin/xinit -- VT08
ExecStop=/usr/bin/pkill openbox
 
[Install]
WantedBy=multi-user.target

Prendre en compte le service

sudo systemctl daemon-reload

Le fichier ~/.xinitrc est un script shell contenant tout les programmes à lancer :

  • chargement de la configuration utilisateur de la carte NVidia
  • gestion du fond d'écran et de l'économiseur d'écran
  • lancement du mapper des touches de télécommande
  • démarrage du frontend mythtv
  • exécution du gestionnaire de fenêtre openbox

J'ai repris celui que j'ai mis en place pour le boot PXE :

~/.xinitrc
# fait disparaitre le curseur
unclutter -idle 0.1 -root -regex -notclass 'Iceweasel|XTerm|Gcalctool|Gthumb' &
 
# charge la configuration utilisateur du driver de carte graphique
nvidia-settings -l
 
# désactive l'extinction automatique de l'écran pour l'économie d'énergie
xset -dpms
 
# écran de veille
xscreensaver &
 
# fond d'écran
xloadimage -onroot -center ~/bg.png
 
# mapping des touches de la télécommande
(sleep 30 ; irexec -d ) &
 
# ftrontend mythtv
mythfrontend --logpath /var/log/mythtv &
 
# gestionnaire de fenêtre
openbox

Installer les packages nécessaires :

sudo apt-get install -y openbox xloadimage unclutter xscreensaver-gl lirc

L'activer :

sudo systemctl enable xinit-login.service

Le démarrer :

sudo systemctl start xinit-login.service