Outils pour utilisateurs

Outils du site


xbmc_sous_debian_light

À propos

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).

Bien que je parle de XBMC dans ce mini tuto, il est tout à fait possible de l'adapter pour d'autres média center ou toutes autres choses. D'ailleurs, je voulais transformer un vieux PC en média center malheureusement XBMC était trop lourd. Avec quasiment les mêmes manip, j'ai réussi à installer Mythtv plus léger que XBMC.

J'ai installé Xbmc sur un Zotac Zbox et je met à jour cette note au fil de mes découvertes.

Pré-requis

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.

Installation de Debian

Debian de base

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.

Il est aussi possible de faire une installation minimale d'Ubuntu. Un tutoriel est disponible sur le forum de passion-xbmc.

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).

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 (Unix) à 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

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

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

alsaconf n'existe plus sous Debian Squeeze. Il faut lancer 'alsactl init' (ignorer le message d'erreur 'Unknown hardware…') et redémarrer l'ordinateur.

Re-tester à nouveau! Si ça ne 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).

Installation et configuration de XBMC

À partir de maintenant, on considère que le serveur X et votre carte son fonctionnent correctement.

Installation

XBMC est disponible dans le dépôt officiel de Debian à partir de Wheezy. Mais si vous voulez avoir une version récente, il faut d'abord ajouter le dépôt deb-multimedia dans votre fichier sources.list. 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

Pour la lecture de fichier audio au format MPEG (comme le mp3), il faut installer la librairie libmad0 :

# aptitude install libmad0

Lancement automatique de XBMC au démarrage

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 :

xbmc
#!/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

Arrêt et suspension

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

Bootsplash

Cette partie n'est pas complète. Voir sur le wiki debian

Plymouth est une application qui se lance au boot du pc. Elle permet d'avoir un écran de démarrage animé au lieu des textes qui défilent. Pour l'installer :

# 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

Un thème Xbmc est disponible ici. Cependant, ce paquet n'est pas compatible avec Debian. Je l'ai adapté à Debian. À télécharger ici. Pour l'installer, faite :

# 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!

Il est possible de tester le thème sélectionné sans redémarrer. Lancer le démon Plymouthd :

# plymouthd

Ensuite, lancer la visualisation :

# plymouth --show-splash

Pour quitter la visualisation :

# plymouth quit

Source : http://doc.ubuntu-fr.org/plymouth#changer_de_theme

Source : http://wiki.debian.org/fr/plymouth

Montage automatique des clés USB

Depuis XBMC 12, il est possible de démonter une périphérique USB via le menu contextuel. Pour cela fonctionne, il faut utiliser usbmount.

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"

Si vous n'avez pas effectué la partie Arrêt et suspension, créer le fichier /var/lib/polkit-1/localauthority/50-local.d/xbmc-actions.pkla et ajouter les lignes suivantes (remplacer USERNAME par l'utilisateur qui lance XBMC) :

[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.

Conclusion

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.

Autres liens

xbmc_sous_debian_light.txt · Dernière modification: 2014/07/25 13:46 par TuxGasy