Wiki

serveur-x-et-mythtv

Le but de ce tuto est de pouvoir lancer MythTV dans un serveur X dédié, d'en automatiser la procédure, et de simplifier la procédure de changement d'affichage virtuel pour changer entre le bureau gnome/kde et mythtv.

Première chose, il faut que le fait de lancer le nouveau serveur X et que la commande de changement de changement d'affichage ne demandent pas le mot de passe root. Pour cela nous allons éditer /etc/sudoers avec la commande “visudo”. Visudo permet d'empêcher toute erreur de syntaxe à ce fichier, n'éditez donc SURTOUT pas ce fichier via gedit/nano/vi ou autre éditeur de texte !!!!!!!

Rajoutez ceci pour définir les commande à configurer ( X = lanceur de X et chvt = changeur d'affichage virtuel)

sudo visudo

     # Cmnd alias specification
     Cmnd_Alias ECRAN = /usr/bin/X11/X
     Cmnd_Alias CHVT = /bin/chvt

Ensuite il faut éditer les privilège par user. Mettez votre nom de connection à la place de “VOTRE_USER”

     # User privilege specification
     root	ALL=(ALL) ALL
     VOTRE_USER  ALL=(ALL) ALL, NOPASSWD: ECRAN, NOPASSWD: CHVT

Ctrl+X pour fermer/sauver et on reboote (sudo -v est censé recharger les droits mais sur ma config j'ai du reboot pour activer tout ça)

On est parti pour des petits bouts de script à droite à gauche !

gedit /home/mythtv/.lancemyth.sh ⇐== Script à mettre en lancement auto en ouverture de session (dans système/préférence/session)

     sleep 5 # permet de laisser gnome se lancer et évite certains soucis comme un ecran blanc lorsque l'on reviens sur le bureau. A adapter suivant la puisssance de sa config
     sudo X :4 -ac -terminate &   # Lance sur un nouveau serveur X affichage 4
     sleep 2           # Attend 2 secondes que le serveur soit prêt
     DISPLAY=:4 /usr/local/bin/mythfrontend # lance MythTV

Voilà, maintenant au prochain démarrage, MythTV seras lancé dans le serveur X :4 accessible via Ctrl+Alt+F9. Pour retourner au bureau, Ctrl+Alt+7

Maintenant, simplifions la navigation !

La commande “sudo chvt x” permet de changer de serveur X courant. Donc sudo chvt 9 va sur mythtv et sudo chvt 7 revient sur le bureau.

Automatisons ceci via un script adressable par LIRC avec IREXEC (cf tuto lirc pour plus d'info)

gedit /home/mythtv/.switchVT.sh

     #Lecture fichier sauvegarde etat 
      ETAT=$(cat /home/mythtv/.etat)
     #Change l'affichage virtuel courant
      sudo chvt $ETAT
     #Modification de la variable d'état
      if [ $ETAT = 7 ]; then ETAT=9; else ETAT=7;fi 
     #commenter ligne précédente et décommenter ligne suivantes si utilisation de 3 serveur X (si beaucoup de jeux wine par exemple)
      #if [ $ETAT = 10 ]; then ETAT=7; else ETAT=$(($ETAT+1));fi 
      #if [ $ETAT = 8 ]; then ETAT=9; fi
     #Enregistre fichier de sauvegarde état
      echo $ETAT > /home/mythtv/.etat

J'ai attribué ce script à la touche On/Off de ma télécommande. Ce qui permet donc de zapper d'un affichage à l'autre avec une simple pression :) On peut bien entendu l'attribuer à un lanceur placé sur le bureau ou à tout autre raccourci programmable :)

.. Ce script est bien entendu largement perfectible. TODO : rajouter test pour verifier si mythfrontend est bien lançé et le cas échéant lancer .lancemyth.sh Améliorer la gestion des valeurs $ETAT. Les identifiants 7 et 9 ne sont pas attribués de manière DEFINITIVE. Si on s'amuse avec d'autres serveurs X et qu'on les ferme/ouvre à tort et à travers, les identifiants finissent par s'emmêler (bureau sur F9 et myth sur F11 par exemple)


Le principe peut bien entendu être élargie à d'autres domaines comme par exemple Wine avec des jeux direct3D windows ou des applicatifs demandant toute la puissance de xorg (montage vidéo…). Voire même un second bureau gnome/KDE indépendant. L'avantage de faire tourner un second serveur X est de ne pas avoir de lag (erreur de synchro verticale, freezes, occupation CPU exagérée…) tout en augmentant la stabilité de l'ensemble (mon jeux wine a tout gelé mon beau serveur X ? Ctrl+Alt+Del et on kille le serveur X en cause sans killer ce que l'on a ouvert par derrière sur le serveur “originel” :)

On en discute ici : http://mythtv-fr.tuxfamily.org/forums/viewtopic.php?pid=7586

serveur-x-et-mythtv.txt · Dernière modification: 04/11/2008 par lo.mc001