Configurer un lecteur multimédia dédié avec Debian Etch

Auteur : Olivier BOYER - oboyer () ajoute ! org

Mots clés

Debian, clé usb, lecture seule, multimédia, lecteur, player

Introduction

Ce document présente comment configurer un système Linux Debian Etch 4.0 (stable) en lecteur multimédia (Audio, DVD, Divx, Photos) dédié. Pour une plus grande facilité d'utilisation, ce lecteur est installé sur une clé USB montée en lecture seule. Tous les processus utilisateurs sont exécutés sous l'identité d'un utilisateur dédié : player. Le répertoire d'accueil (home) de cet utilisateur doit être sur un système de fichiers accessible en écriture : sur un disque dur additionnel, un montage NFS, …

Présentation de la maquette

  • Un ordinateur compatible PC, architecture i386, doté d'un port USB (version 2 fortement recommandée).
  • Une clé USB (au moins 1Go).

Avec très peu de modifications, les éléments présentés ci-dessous peuvent s'appliquer à un disque dur local.

Note

Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine.

Pré-requis

  • Un lecteur DVD pour lire des DVD-Vidéo est facultatif, mais utile.

Installer et configurer Debian Etch sur la clé USB

L'installation et la configuration du système Linux Debian sur la clé USB avec une racine en lecture seule est décrite dans le document Installer Debian Etch (4.0 - stable) sur une clé USB.

Toutes les commandes présentées dans la suite de ce document sont à exécuter sur un système dont la racine / est en écriture. Exécutez la commande suivante :

# mount -o remount,rw /

Installer les paquets nécessaires à un lecteur multimédia

Le système actuel (configuré en suivant le document Installer Debian Etch (4.0 - stable) sur une clé USB), ne contient ni environnement graphique, ni application nécessaire à un lecteur multimédia. Il faut installer ces paquets.

Les sections suivantes présentent l'installation du serveur X, de lecteurs multimédia (en gtk), et d'un environnement graphique (xfce). Adaptez ces applications à vos goûts et besoins.

Modifier le fichier /etc/apt/sources.list

Le fichier /etc/apt/sources.list contient la liste des sources d'installation des paquets pour la distribution. Par défaut, seule la source main est configurée. Exécutez les tâches décrites ci-dessous.

  • Sauvez la configuration précédente :
# cd /etc/apt
# cp sources.list sources.list.orig
  • Modifiez le fichier /etc/apt/sources.list comme suit :
# /etc/apt/sources.list
deb http://debian.cict.fr/debian/ etch main contrib non-free
deb-src http://debian.cict.fr/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

#EOF
  • Mettez à jour la liste des paquets disponibles :
# apt-get update

Installer le paquet localepurge

Par défaut, lors de l'installation d'un paquet, un système Linux Debian installe les traductions pour une grande variété de langues. Dans notre cas, seules les langues anglaise (langue par défaut d'un système Unix), et française sont nécessaires. Pour supprimer automatiquement les langues inutiles (et ainsi gagner de l'espace disque), installez le paquet localpurge comme suit :

# apt-get -y install localepurge

Choisissez les locales suivantes :

  • en
  • fr
  • fr_FR
  • fr_FR@euro
  • fr_FR.UTF-8

Installer les paquets principaux

Pour installer les paquets listés dans cette section, exécutez la commande suivante :

# apt-get -y install <nom_du_paquet1> <nom_du_paquet2> <...>

base

Ces paquets installent les composants de base de lecteur : modules son, serveur X, fontes, gestionnaire de périphériques, …

alsa-base
alsa-utils
xorg
ttf-freefont
ttf-bitstream-vera
xscreensaver
hal
hal-device-manager
pmount
avahi-daemon
input-utils
sudo

standard

Ces paquets ne sont pas strictement nécessaires au fonctionnement du lecteur multimédia. Cependant, ils apportent des fonctionnalités intéressantes : impression, support des protocoles réseaux, outils de compression, …

gdm
host
cupsys
cupsys-client
nfs-common
ssh
telnet
ntpdate
gpm
less
screen
bzip2
unzip
unrar

Effacez les fichiers temporaires générés lors de l'installation :

# apt-get autoclean

Installer les paquets multimédia

Ces paquets permettent de gérer une collection de musique, de lire des DIVX, des DVD-vidéo, des CD audio, de visionner des photos, de naviguer sur Internet, de gaver des CD/DVD, d'encoder des CD audio, …

Pour installer les paquets listés dans cette section, exécutez la commande suivante :

# apt-get -y install <nom_du_paquet1> <nom_du_paquet2> <...>
rhythmbox
gcstar
gstreamer0.10-ffmpeg
gstreamer0.10-pitfdll
gstreamer0.10-plugins-bad
xine-ui
gxine
libdvdnav4
firefox
mozilla-firefox-locale-fr-fr
gxineplugin
flashplugin-nonfree
gthumb
gnome-media
grip
vorbis-tools
cdparanoia
gnomebaker
gtk2-engines-pixbuf
gnome-osd

Effacez les fichiers temporaires générés lors de l'installation :

# apt-get autoclean

Installer les paquets multimédia non libres

Certains paquets nécessaires au fonctionnement du lecteur multimédia ne sont pas distribuables par les mainteneurs de Debian pour des raisons de licence. Heureusement, le site debian-multimedia.org distribue les paquets qui manquent.

/etc/apt/sources.list

Ajoutez les lignes suivantes au fichier /etc/apt/sources.list :

# debian-multimedia : paquets non officiels
deb http://www.debian-multimedia.org/ etch main

Mettez à jour la liste des paquets disponibles. Un “warning” sur la signature numérique des paquets de “debian-multimeda” va apparaître. C'est normal, la clé PGP de signature des paquets de ce fournisseur n'est pas encore installée. Elle le sera via la seconde commande.

# apt-get update
# apt-get -y install debian-multimedia-keyring
# apt-get update

Installer les paquets

Pour installer les paquets listés dans cette section, exécutez la commande suivante :

# apt-get -y install <nom_du_paquet1> <nom_du_paquet2> <...>
mozilla-acroread
w32codecs
realplayer
libdvdcss2
gstreamer0.10-plugins-really-bad
gstreamer0.10-lame
lame

Effacez les fichiers temporaires générés lors de l'installation :

# apt-get autoclean

Installer les paquets de l'environnement graphique

L'environnement graphique XFCE, a été retenu car il répond aux critères suivants :

  • libre,
  • léger,
  • intégré,
  • activement développé,
  • configurable via une interface graphique.

Cependant, la version d'XFCE, livrée dans les paquets de Debian stable, n'est pas à jour. Pour en utiliser une plus récente, il faut installer les paquets fournis par Debian Backports.

/etc/apt/sources.list

Ajoutez les lignes suivantes au fichier /etc/apt/sources.list :

# backports : paquets non officiels
deb http://www.backports.org/debian etch-backports main contrib non-free

Mettez à jour la liste des paquets disponibles. Un “warning” sur la signature numérique des paquets de “backports” va apparaître. C'est normal, la clé PGP de signature des paquets de ce fournisseur n'est pas encore installée. Elle le sera via la seconde commande.

# apt-get update
# apt-get -y install debian-backports-keyring
# apt-get update

Installer les paquets

Pour installer les paquets listés dans cette section, exécutez la commande suivante :

# apt-get -y -t etch-backports install <nom_du_paquet1> <...>
xfwm4
xfwm4-themes
xfdesktop4
gamin
xfce4-session
xfce4-mcs-manager
xfce4-mcs-plugins
xfce4-icon-theme
xfce4-terminal
thunar
thunar-archive-plugin
thunar-media-tags-plugin
mousepad
orage

Puis ajoutez, le paquet xfmedia à partir du dépôt officiel :

# apt-get -y install xfmedia

Effacez les fichiers temporaires générés lors de l'installation ;

# apt-get autoclean

Installer les paquets optionnels

Les paquets de cette section sont sans rapport avec la lecture multimédia, mais peuvent être utiles au quotidien.

Pour installer les paquets listés dans cette section, exécutez la commande suivante :

# apt-get -y install <nom_du_paquet1> <nom_du_paquet2> <...>
file-roller
gcalctool
stardict-gtk
stardict-xmlittre
pidgin
x11vnc
zenity
gksu
xbindkeys
xvkbd

Effacez les fichiers temporaires générés lors de l'installation :

# apt-get autoclean

Spécialiser le système en lecteur multimédia

Configurer le matériel

La carte son

La configuration de la carte son est simplifiée grâce à l'outil alsaconf. Exécutez la commande suivante, et laissez-vous guider à travers les menus interactifs.

# alsaconf

La carte graphique

Lors de l'installation du meta-paquet xorg vous avez répondu à un certain nombre de questions. Vos réponses ont permis de générer le fichier /etc/X11/xorg.conf. Vous pouvez conserver ce fichier de configuration, ou en créer un nouveau soit :

  • en éditant le fichier /etc/X11/xorg.cong à la main,
  • en utilisant les outils de la distribution Debian :
# dpkg-reconfigure xserver-xorg

Créer un utilisateur dédié

Toutes les applications du lecteur vont s'exécuter sous l'identité d'un utilisateur dédié : player (du groupe dédié player).

Attention : le répertoire d'accueil de cet utilisateur (ici /home/player) doit être sur un système de fichiers en écriture. Par exemple, une partition dédiée sur la clé USB, un disque dur local, un volume NFS, … Il est aussi possible de créer ce volume dans un système de fichiers en mémoire, mais dans ce cas, il faut mettre en place un mécanisme pour que les configurations de l'utilisateur ne soient pas perdues à chaque arrêt de la machine.

Pour créer cet utilisateur exécutez les commandes suivantes :

  • Créez le groupe player :
# groupadd player -g 1000
  • Créez l'utilisateur player :
# useradd player -m -u 1000 -g 1000 -c "Player User" -d /home/player -s /bin/bash
  • Saisissez un mot de passe pour cet utilisateur :
# passwd player
  • Configurez les groupes supplémentaires :

Ajoutez l'utilisateur aux groupes dialout, cdrom, floppy, audio, video, plugdev. En effet, les permissions par défaut sur un système Linux Debian imposent qu'un utilisateur fasse parti des groupes précédents pour pouvoir accéder aux ressources matérielles du même nom.

Exécutez la commande suivante :

# usermod -aG dialout,cdrom,floppy,audio,video,plugdev player

Désactiver les services inutiles

Dans le cadre d'utilisation du système certains services, automatiquement démarrés, s'avèrent inutiles. Pour “économiser” des ressources matérielles, il est préférable de les désactiver. Procédez comme suit :

# update-rc.d -f cron remove
# update-rc.d -f sysklogd remove
# update-rc.d -f openbsd-inetd remove
# update-rc.d -f hwclock.sh remove

Démarrer automatiquement l'interface graphique

Pour exécutez une session graphique au démarrage de la machine (en tant qu'utilisateur player), plusieurs possibilités sont offertes :

  • installer un gestionnaire de session (comme gdm), ou
  • modifier le fichier /etc/inittab, ou
  • modifier /etc/rc.local, ou
  • créer un nouveau script dans le répertoire /etc/init.d (cette solution est décrite en Annexe 1).

L'utilisation d'un gestionnaire de session graphique apparaît comme la solution la plus simple à mettre en oeuvre. Le Gnome Display Manager, gdm pour les intimes, permet d'ouvrir automatiquement une session sous l'identité d'un utilisateur donné.

Modifiez comme suit le fichier : /etc/gdm/gdm.conf.

Les paramètres les plus importants dans ce cadre d'utilisation sont ceux de la section [daemon] :

[daemon]
AutomaticLoginEnable=true
AutomaticLogin=player

En cours d'exécution, gdm(1) accède en écriture au répertoire : /var/lib/gdm. Le script /etc/init.d/mountprereadonly.sh créé lors de l'installation du système se charge de gérer cet accès en écriture, bien que le système soit en lecture seule.

Modifier le fichier /etc/rc.local

Le script /etc/rc.local est exécuté à la fin de la procédure de démarrage du système. Le contenu de ce script est laissé au libre arbitre de l'administrateur local. Il convient donc parfaitement aux derniers réglages du système.

Ajoutez les lignes suivantes au fichier /etc/rc.local :

PATH="/usr/bin:/usr/sbin"

# Set date and time from remote host
ntpdate -b fr.pool.ntp.org

# Set volume at 80%
amixer -q sset PCM 80% unmute

exit 0
#EOF

Accélérer le démarrage

Avant le démarrage du système Debian, un menu de sélection apparaît pendant 5 secondes. Dans le cadre d'utilisation de ce système, le choix par défaut est toujours validé. Il est donc possible de réduire le temps de présentation du menu de 5 secondes à 1 (voir à 0).

Modifiez la ligne timeout du fichier /boot/grub/menu.lst :

timeout         5

par :

timeout         1

Liens

ANNEXE 1 : démarrer X sans gdm

Si vous souhaitez ouvrir automatiquement une session graphique au démarrage du système, sans utiliser de gestionnaire de session, procédez comme suit :

Désactiver le démarrage de gdm

Exécutez la commande suivante :

# update-rc.d -f gdm remove

Modifier le fichier /etc/X11/Xwrapper.config

La configuration par défaut d'un système Linux Debian interdit l'ouverture d'une session graphique à tout utilisateur non connecté à la console.

Pour autoriser l'utilisateur player à ouvrir automatiquement une session graphique, sans être à la console, modifiez, comme suit, le fichier /etc/X11/Xwrapper.config :

#allowed_users=console
allowed_users=anybody

Créer le script /etc/init.d/startx

Le script /etc/init.d/startx est ajouté à ceux déjà présents dans le système Linux Debian. Ce script se charge de vérifier la présence du répertoire d'accueil de l'utilisateur, puis d'exécuter la commande startx(1) sous l'identité de l'utilisateur player.

Créez comme suit le fichier /etc/init.d/startx.

Fixer les permissions

Exécutez les commandes ci-dessous :

# chown root:root /etc/init.d/startx
# chmod 755 /etc/init.d/startx

Insérer le fichier dans la procédure de démarrage

Le script /etc/init.d/startx doit être exécuté au plus tard dans la procédure de démarrage, et au plus tôt dans la procédure d'arrêt. Exécutez la commande suivante :

# update-rc.d startx start 99 2 3 4 5 . stop 01 1 6 .
 Adding system startup for /etc/init.d/startx ...
   /etc/rc1.d/K01startx -> ../init.d/startx
   /etc/rc6.d/K01startx -> ../init.d/startx
   /etc/rc2.d/S99startx -> ../init.d/startx
   /etc/rc3.d/S99startx -> ../init.d/startx
   /etc/rc4.d/S99startx -> ../init.d/startx
   /etc/rc5.d/S99startx -> ../init.d/startx

Pour tester l'ouverture automatique de la session, redémarrer la machine.

 
doc/linux/mmp.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page