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 (Windows et Mac aussi).
Le but de cet article est montré comment installer XBMC sous une distribution Debian ligth. C'est-à-dire qu'on installera le strict nécessaire (sans un gestionnaire de fenêtres).
J'ai installé Xbmc sur un Zotac Zbox et je met à jour cette note au fil de mes découvertes.
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.
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 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).
À partir de maintenant, on considère que le serveur X et votre carte son fonctionnent correctement.
Il faut d'abord ajouter le dépôt debian-multimedia dans votre fichier sources.list pour certains paquets. Ensuite mettrez à jour les paquets :
# aptitude update && aptitude safe-upgrade
Ensuite, on installe xbmc :
# aptitude install xbmc-standalone
Testons si xbmc se lance sans problème :
$ xinit xbmc-standalone
# aptitude install libmad0
Pour lancer Xbmc au démarrage, on va utiliser les scripts init de Debian. Pour cela, créer un fichier /etc/init.d/xbmc et copier le code suivant :
#!/bin/sh ### BEGIN INIT INFO # Provides: xbmc # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of XBMC # Description: starts instance of XBMC using start-stop-daemon and xinit ### END INIT INFO ############### EDIT ME ################## # path to xinit exec DAEMON=/usr/bin/xinit # startup args DAEMON_OPTS=" /usr/bin/xbmc-standalone -- :0" # script name NAME=xbmc # app name DESC=XBMC # user RUN_AS=xbmc # Path of the PID file PID_FILE=/var/run/xbmc.pid ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e case "$1" in start) echo "Starting $DESC" start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE --make-pidfile --exec $DAEMON -- $DAEMON_OPTS ;; stop) echo "Stopping $DESC" start-stop-daemon --stop --pidfile $PID_FILE ;; restart|force-reload) echo "Restarting $DESC" start-stop-daemon --stop --pidfile $PID_FILE sleep 5 start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE --make-pidfile --exec $DAEMON -- $DAEMON_OPTS ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Modifier le nom de l'utilisateur (l'option RUN_AS) et rendre le script exécutable :
# chmod +x /etc/init.d/xbmc
Permettre le démarrage du serveur X hors console :
# dpkg-reconfigure x11-commun
Et choisir “N'import qui” (cf capture).
Tester le script (sans lancer le serveur X) :
# /etc/init.d/xbmc start # /etc/init.d/xbmc stop
Si ça fonctionne sans problème, on ajoute le script aux runlevels :
# update-rc.d xbmc defaults
Source : http://wiki.xbmc.org/index.php?title=Installing_XBMC_for_Linux
Pour pouvoir arrêter et suspendre le pc, installer les paquets upower et acpi-support :
# aptitude install upower acpi-support
Ensuite, créer le fichier /var/lib/polkit-1/localauthority/50-local.d/xbmc-actions.pkla et copier les lignes suivantes :
[Xbmc Actions] Identity=unix-user:USERNAME Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.* ResultAny=yes ResultInactive=no ResultActive=yes
Remplacer USERNAME par le nom de l'utilisateur. Redémarrer, et maintenant on peux arrêter ou suspendre l'ordinateur à partir de Xbmc.
Source : http://wiki.xbmc.org/index.php?title=Ubuntu_Suspend_/_Wake
# aptitude install plymouth plymouth-themes-all
Éditer le fichier /etc/default/grub et ajouter splash à l'option GRUB_CMDLINE_LINUX_DEFAULT comme suite :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Et changer aussi la résolution. Par exemple :
GRUB_GFXMODE=1024x576
Ensuite, mettre à jour le grub2
# update-grub2
Pour lister les thèmes disponibles :
# plymouth-set-default-theme --list
Pour définir ensuite un thème, faite :
# plymouth-set-default-theme NOM_DU_THÈME
Enfin, enregistrer le thème (à appliquer à changement de thème) :
# update-initramfs -u
# wget http://depot.tuxgasy.fr/binary/plymouth-theme-xbmc-logo-2.deb # dpkg -i plymouth-theme-xbmc-logo-2.deb
Source : http://wiki.xbmc.org/index.php?title=XBMCbuntu#Custom_Boot_Splash
Redémarrer l'ordinateur et admirez!
# plymouthd
Ensuite, lancer la visualisation :
# plymouth --show-splash
Pour quitter la visualisation :
# plymouth quit
Installer usbmount et éventuellement le support de NTFS :
# install udisks usbmount ntfs-3g
Éditer le fichier /etc/usbmount/usbmount.conf et ajouter ntfs dans l'option FILESYSTEMS :
FILESYSTEMS="ntfs vfat ext2 ext3 ext4 hfsplus"
[Xbmc Actions] Identity=unix-user:USERNAME Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.* ResultAny=yes ResultInactive=no ResultActive=yes
Brancher votre clé USB et le volume apparaît automatiquement comme source dans 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.