XBMC est un média center libre initialement prévu pour fonctionner sous un Xbox. Récemment, les développeurs ont décidé de le porter sous GNU/Linux. Le but de cet article est montré comment installer XBMC sous une distribution Debian ligth. C'est-à-dire qu'on n'installera pas un gestionnaire de fenêtres.
Toutes les manipulations présentes dans ce document se font en mode texte (sans interface graphique avec des boutons à cliquer ou des cases à cocher). Ce document n'est sûrement pas complet. Et selon votre configuration hardware, il peut être nécessaire d'effectuer d'autres manipulations pour avoir au final un système fonctionnel.
Pourquoi avoir choisir Debian au lieu d'une autre distribution GNU/Linux? Contrairement aux distributions grand public (tel Ubuntu ou Fedora), Debian permet d'installer que l'outil de base (c'est-à-dire, le minimun pour faire fonctionner l'ordinateur). Ainsi, on peut par la suite installer que ce qu'on a besoin. Je ne détaille pas ici l'installation de Debian. D'autres personnes font sûrement mieux que moi. Vous pouvez aussi vous référez au manuel d'installation de Debian. Dans mon cas, j'ai choisi Lenny.
Attention!!! Après l'installation du système de base (vers la fin de l'installation de l'installation générale), lorsque l'installateur vous propose d'installer des paquets supplémentaires, n'oubliez pas de décocher les cases (avec la barre d'espace).
Remarque : Certaines commandes nécessitent le droit de root. Ainsi, dans ce document, lorsqu'une commande est précédée de #, il faut le lancer en root. Si elle est précédée de $, il faut le lancer en tant que simple utilisateur. Pour switcher entre les deux, vous pouvez ouvrir une session chacun dans deux tty différents (Pour passer d'un tty à l'autre, il faut utiliser la combinaison des touches Alt+F<numéro>. Par exemple, Alt+F1 pour aller dans la session root et Alt+F2 pour aller dans la session de l'utilisateur.)
X.org est un serveur X libre. C'est un système de fenêtrage qui gère l'interaction homme-machine par l'écran, la souris et le clavier.
Attention!!! Ne pas confondre système de fenêtrage et gestionnaire de fenêtres (cf schéma ci-dessous).
Schéma en couches d'une interface graphique (schéma tiré de Wikipédia).
L'objectif est de ne pas installer ni un gestionnaire de fenêtrage ni un environnement graphique.
Installons donc X.org avec ses dépendances avec apt :
# aptitude install xorg
Après l'installation de X.org, lancer le serveur X :
$ startx
Si tout va bien, vous devrez voir apparaître votre souris (taper exit dans le terminal pour quitter le serveur X). Sinon, vous pouvez reconfigurer le serveur X avec la commande suivante :
# dpkg-reconfigure xserver-xorg
Sous X, si vous vous trouvez avec un clavier QWERTY au lieu de AZERTY, il suffit d'éditer le fichier /etc/X11/xorg.conf et ajouter les lignes suivantes :
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbVariant" "latin9"
EndSection
Alsa (ou Advanced Linux Sound Architecture) est un composant du noyau linux pour le support des cartes son. Installer alsa avec la commande suivante :
# aptitude install alsa-base alsa-utils
Ensuite tester si votre carte son a été reconnu automatiquement :
$ speaker-test
Si vous entendez une sorte de grésillement, votre carte son a été reconnu. Sinon, vérifier les réglages de volumes avec la commande suivante :
$ alsamixer
Augmenter le volume si nécessaire et re-tester avec speaker-test. Si ça marche vous pouvez sauvegarder les réglages avec la commande suivante :
# alsactl store
Pour restaurer les réglages par défaut :
# alsactl restore
Si par contre, vous n'avez toujours pas de grésillement, essayer de reconfigurer alsa avec la commande suivante :
# alsaconf
Re-tester à nouveau! Si ça fonctionne toujours, vérifier sur internet que votre carte son est bien supporté par linux (ou peut être il faut faire d'autre manipulation pour la faire fonctionner).
Remarque : Pour tester le son, vous pouvez aussi utiliser un lecteur en mode texte (comme Mpg123, Mpg321 et Mp3blaster).
A partir de maintenant, on considère que le serveur X et votre carte son fonctionnent.
XBMC est actuellement disponible dans le dépôt multimédia de Debian. Cette partie n'est donc plus obligatoire.
Il faut d'abord ajouter le dépôt debian-multimedia dans votre fichier sources.list pour certains paquets. Ensuite mettrez ajout les paquets :
# apt-get update && apt-get upgrade
Enfin, installer les paquets nécessaires :
# apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi0 libfribidi-dev liblzo2-2 liblzo2-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libasound2-dev python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev pmount libmad0-dev libtre-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev libpcre3-dev subversion libjasper-dev libjasper1 libfontconfig-dev libbz2-dev libboost-dev libtool nasm libfaac-dev libenca-dev automake cmake libxt-dev libxmu-dev gperf unzip libpng12-dev libjpeg62-dev
Remarque:
Pour obtenir le code source de XBMC :
$ cd $HOME $ svn checkout https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
$ cd $HOME/XBMC $ ./configure $ make # make install
Remarque: selon la puissance de votre ordinateur, la compilation prend beaucoup de temps!
Avant de lancer XBMC, il faut tout d'abord lancer le serveur X :
$ startx $ xbmc
Pour un autologin, il faut installer le mingetty :
# apt-get install mingetty
Ensuite, éditer le fichier /etc/inittab et ajouter la ligne suivante :
1:2345:respawn:/sbin/mingetty --autologin username tty1
Remplacer username par votre login. Dans le même fichier, commenter la ligne suivante (en mettant un # devant) :
1:2345:respawn:/sbin/getty 38400 tty1
Pour lancer XBMC automatiquement après le lancement du serveur X, il suffit d'ajouter la commande xbmc dans le fichier $HOME/.xinitrc (le créer si nécessaire).
Pour lancer le serveur X à l'ouverture de la session, éditer le fichier ~/.profile et ajouter les lignes suivantes :
tty=`tty`
# Start X only if login in tty1
if [ $tty = '/dev/tty1' ]; then
startx
fi
Enfin, pour avoir XBMC en plein écran dès le lancement, il faut le configurer dans Paramètres→Interface→Ecran. Dans le champs Résolution, choisissez LxH (Full Screen). LxH est la résolution de votre écran. Par exemple, 1280×800 (Full Screen).
L'objectif ici est de faire en sorte lorsqu'on arrête XBMC, ça arrête aussi l'ordinateur. Et lorsqu'on choisit de redémarrer XBMC, ben ça redémarre l'ordinateur. Pour cela, nous avons besoin de sudo pour pouvoir arrêter et redémarrer l'ordinateur en tant que simple utilisateur :
# apt-get install sudo
Editer ensuite le fichier de configuration de sudo (/etc/sudoers) avec le programme visudo (Attention, il faut utiliser que ce programme pour éditer ce fichier de configuration et pas avec d'autres éditeurs de texte) :
# visudo
Ensuite, ajouter la ligne suivante :
userlogin ALL = NOPASSWD: /sbin/halt, /sbin/reboot
Remplacer userlogin par votre login.
Enfin, ajouter dans $HOME/.xinitrc les lignes suivantes :
retour=$? if [ $retour == 0 ]; then sudo halt fi
Malheureusement, le redémarrage de XBMC provoque aussi l'arrêt de l'ordinateur car le code retour de XBMC est identique pour l'arrêt et le redémarrage
. ⇒ Objectif non complètement atteint! Faire une modification dans le code source de XBMC???
Ce document n'est sûrement pas complet mais il y a l'essentiel pour avoir un XBMC sous un Debian minimal. Si vous avez besoin de console (pour lancer une commande par exemple pour mettre à jour votre système), sans arrêter XBMC (qui provoque d'ailleurs l'arrêt de l'ordinateur), il suffit de faire Alt+Ctrl+F2. Pour revenir, sous X, faite Alt+F7. Vous pouvez aussi installer le paquet openssh-server pour un accès ssh à partir d'un autre ordinateur.