J’avais déjà évoqué dans un précédent article que
je possède un Media center sous Linux. Suite à une petite bidouille
malheureuse, il s’est retrouvé complètement planté. J’ai donc décidé de tout
réinstaller à partir de zéro et de documenter (un peu) l’opération.
Je vais
donc détailler les principaux composants de cette installation, sans pour
autant rentrer dans les détails (utilisez les commentaires si besoin).
Qui suis-je, où vais-je, …
… dans quelle étagère ? Avant de mettre les mains dans la console, une petite explication de l’utilisation que je fais de ma machine s’impose :
- Je passe beaucoup de temps sur Xbmc, un très bon logiciel de Media Center
- Je regarde aussi beaucoup Nolife Online (Abonnez vous !)
- Je n’exclue pas l’idée d’utiliser d’autres services de TV de rattrapage comme M6 Replay par exemple.
Je possède un clavier sans-fil avec Trackball intégré (celui-ci) ainsi qu’une télécommande “compatible Windows Media Center” achetée sur e-bay.
Arch’ mon ami !
Archlinux m’a semblé être le meilleur choix comme distribution pour Mediator (le nom que j’ai donné à cette machine…bien avant le scandale sur le médicament du même nom). Outre sa flexibilité, j’apprécie surtout le fait d’avoir des paquetages très récents…très utile pour les drivers vidéo par exemple. C’est aussi une distribution pour laquelle l’installation de base est très légère, sans fioritures. Oui, je pense à Ubuntu en disant cela :) J’ai donc réalisé une installation tout à fait classique, j’ai seulement eu un petit souci avec la configuration de Grub pour le kernel 3.0 qui fera l’objet d’un prochain (court) article.
Boot –> Bureau
Pour me simplifier un peu la vie j’ai décidé d’utiliser un gestionnaire de
login. L’heureux élu est “bien entendu” Slim, pour sa légèreté et sa facilité
de configuration. L’utilisateur principal autre que root est server
, et j’ai
donc configuré le login automatique de ce dernier via Slim (dans le fichier
/etc/slim.conf
) :
default_user server
auto_login yes
Gère moi cette fenêtre !
Mon choix pour le Window Manager s’est porté, pour les mêmes raisons que Slim,
vers PekWM. La configuration générale que j’utilise pour ce dernier est assez
simple, j’ai seulement désactivé les bureaux virtuels et changé le thème. En
ce qui concerne les raccourcis clavier, voici un extrait de mon fichier
~/.pekwm/keys
:
Global {
KeyPress = "XF86AudioLowerVolume" { Actions = "Exec /home/server/scripts/bash_vol_manager.sh lower 5 &" }
KeyPress = "XF86AudioRaiseVolume" { Actions = "Exec /home/server/scripts/bash_vol_manager.sh raise 5 &" }
KeyPress = "XF86AudioMute" { Actions = "Exec /home/server/scripts/bash_vol_manager.sh toggle &" }
KeyPress = "XF86Mail" { Actions = "Exec /home/server/scripts/xbmc.sh &" }
KeyPress = "Alt Mod4 Alt_L" { Actions = "Exec /home/server/scripts/xbmc.sh &"}
KeyPress = "XF86Sleep" { Action = "Exec /home/server/scripts/stop.sh &" }
...
J’ai donc la gestion du volume avec un petit script maison (que je
détaillerais dans un autre post), l’ouverture de Xbmc (via les boutons
multimédia “Mail” de mon clavier et le bouton “Start” de ma télécommande).
Enfin la touche “Power” de ma télécommande (qui envoie le signal XF86Sleep
)
pour éteindre la machine.
Le dernier raccourci ne fonctionne pas…et
j’ignore pourquoi (ce n’est pas lié au script associé). Je suis preneur de vos
suggestions !
Le script ~/.pekwm/start
contient les lignes suivantes :
#!/bin/sh
firefox &
sleep 3
/home/server/scripts/xbmc.sh &
Le temps de pause entre le lancement de Firefox et celui de Xbmc permet d’éviter que ce dernier perde le plein écran à cause du précédent.
Trop fort !
Avec mon installation précédente je devais souvent jongler avec le volume
entre une vidéo sur Firefox et un média quelconque sur Xbmc. Le volume doit
être poussé au maximum sur Xbmc, mais à environ 70% sur Firefox, pour entendre
correctement dans mon salon.
J’ai donc réfléchi à un moyen d’automatiser ce
changement de volume, et cela s’est traduit par le script xbmc.sh
:
#!/bin/bash
amixer -c 0 sset Master 100%
xbmc
amixer -c 0 sset Master 68%
Simple mais efficace, il pousse le volume
à fond puis lance Xbmc. Ce dernier n’étant pas lancé en arrière plan, dès
qu’il est quitté le volume est placé à 68%. Ce script est utilisé à la fois
dans ~/.pekwm/start
et ~/.pekwm/keys
.
Firefox (à la loupe, sans la loupe)
J’ai abandonné mon système de loupe pour quelque chose de plus simple :
pousser à fond la taille des caractères à l’écran (Preferences>Content>Fonts
& Colors>Advances>Maximum font size
). C’est moche mais pratique, l’avenir me
dira si c’est réellement une bonne alternative. J’ai aussi modifié le
about:config
pour désactiver la restauration des onglets au lancement (en
cas de crash ou non) :
browser.sessionstore.resume_from_crash;false
browser.sessionstore.max_tabs_undo;0
browser.sessionstore.max_windows_undo;0
shutdown -s -t now
Si il est toujours possible d’autoriser la mise hors tension du système via
des bidouilles avec sudo
et halt
, cela reste des bidouilles. La manière la
plus simple est en fait d’utiliser consolekit
, policykit
et dbus
… en
effet : c’est prévu pour.
Avant tout il faut modifier ~/.xinitrc
ainsi :
#exec pekwm
exec ck-launch-session pekwm
Pour tester si vous avez les droits pour couper le système (par
exemple), utilisez cette commande qui vous renverra true
ou false
:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.CanStop
La commande à utiliser pour éteindre la machine sera alors la suivante (une simple modification de la dernière directive) :
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Si jamais vous n’avez pas les droits, ou êtes simplement curieux, la
configuration se situe dans le fichier
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
. Une commande
est autorisée par la directive <allow_active>yes</allow_active>
, mais j’ai
parfois dû utiliser <allow_any>yes</allow_any>
“Moi vivant, vous n’aurez jamais de pauses”
Par défaut le serveur X coupe l’écran au bout d’un temps donné pour économiser
de l’énergie. Cela va sans dire que c’est insupportable pour un écran qui est
censé être allumé en permanence avec la machine… Une petite configuration
dans /etc/X11/xorg.conf
et hop !
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
Sources
Bonne utilisation ;-)