PROJET AUTOBLOG


BohwaZ

Site original : BohwaZ

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Dropbear : réparer les locales

vendredi 10 février 2012 à 16:05

Dropbear est un super petit serveur et client SSH, très léger, que j'utilise sur du matériel embarqué ou des vieilles machines, qui n'ont que peu de RAM.

Y'a juste un petit bug : dropbear ne propage pas la locale utilisée par le client SSH, ce qui fait qu'on se retrouve avec des trucs comme ça :

$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Du coup bon forcément l'unicode ça marche moins bien.

Une solution palliative est d'utiliser la locale par défaut au démarrage du shell. Pour cela, créer en root le fichier texte /etc/profile.d/locale.sh contenant :

#!/bin/sh

. /etc/default/locale

export LANG

Maintenant normalement ça devrait vous donner la locale système par défaut (dans mon cas fr_FR.UTF-8) lors de vos sessions SSH.

Si ça ne marche pas, c'est peut-être que /etc/profile ne charge pas /etc/profile.d/*. En ce cas, rajouter ceci à /etc/profile :

for script in /etc/profile.d/*.sh
do
  source $script
done
unset script

Utilisation des cartes sons nommées dans ALSA

vendredi 10 février 2012 à 06:12

D'habitude quand on veut choisir la carte son de sortie d'un logiciel spécifique, l'exemple est de ce genre (pris de la config par défaut de MPD) :

device "hw:0,0"

Problème : vas-y pour savoir quelle carte est reconnue comme étant numéro 0, 1, 2 ou plus. Sans compter qu'en fonction de la pression atmosphérique et de l'orientation des étoiles en accord avec Vénus, ALSA donnera des numéros différents aux cartes sons à chaque redémarrage. Un vrai casse-tête !

En fait la solution est très simple, il suffit d'utiliser les cartes nommées plutôt que numérotées. Pour cela, un petit aperçu des cartes présentes est nécessaire :

$ cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfebdc000 irq 16
 1 [Live           ]: EMU10K1 - SB Live! Value [CT4830]
                      SB Live! Value [CT4830] (rev.7, serial:0x80261102) at 0xcce0, irq 18
 2 [v2             ]: USB-Audio - USB Oxygen 8 v2
                      M-Audio USB Oxygen 8 v2 at usb-0000:00:1a.0-1, full speed
 3 [default        ]: USB-Audio - USB Audio CODEC 
                      Burr-Brown from TI               USB Audio CODEC  at usb-0000:00:1a.1-2, full

Vous voyez ici le numéro de la carte, suivi du nom entre crochets, puis de la description. Le nom entre crochets peut être utilisé dans tous les logiciels parlant avec ALSA.

Par exemple moi je veux que mon MPD joue de la musique sur la carte son USB externe, sur laquelle est branché l'ampli hifi. Je veux donc la carte "default" (pas "v2" qui est un clavier MIDI en fait) et ça donne :

device "hw:default"

Par contre pour MPlayer je veux la carte son Intel pour que le son sorte sur les enceintes de l'écran :

$ mplayer -ao alsa:hw=Intel http://bohwaz.net/videos/Night_Of_The_Living_Dead/Films-Night_Of_The_Living_Dead.flv

Et oui c'est aussi simple que ça, mais hélas très peu connu. Maintenant, vous savez que c'est possible ;-)