OpènSölârïs et les locales

Parce que cela sera plus pratique, parce que ça fait un bail que j’y ai pas retouché, parce qu’il y a certaines technos que j’ai envie de vraiment manipuler et parce que j’aime bien varier les plaisirs, j’ai installé un desktop sous OpenSolaris 2009.06.

L’installation étant devenue aussi triviale qu’une bête Ubuntu, je ne m’étendrai pas ici sur cet aspect.

Il y a cependant un élément qui m’a donné du fil à retordre, un truc qui m’agace toujours autant, quel que soit l’UNIX, les locales et prises de tête connexes.

Pour plein de raisons toutes aussi subjectives qu’historiques, aucune de mes machines n’utilise UTF-8, et d’habitude, je place simplement LANG=en_US.ISO8859-15 ainsi que LC_CTYPE=fr_FR.ISO8859-15. Première astuce, sous OpenSolaris, il est nécessaire de renseigner la variable LANG dans /etc/default/init. LC_CTYPE trouvera sa place dans un ${HOME}/.bashrc ou équivalent.

À ce stade, alpine et irssi affichent correctement les caractères accentués.

Arrive alors la configuration du clavier, que j’ai pour habitude de mapper en qwerty, laissant à la touche Compose (AltGr chez moi) le soin d’accentuer les caractères. Généralement, je fais cela à l’aide de ces lignes dans mon fichier /etc/X11/xorg.conf :

Ce qui a pour effet de permettre le fonctionnement suivant :

Frappe simultanée de AltGr + ‘ puis e donne é

Sauf que cette fois, sur le X11/gnome fourni par Sun, cette combinaison donne ‘é (avec l’apostrophe devant). Très enervant.

J’écume une liste infinie de forums, documents, wikis et j’en passe, sans réellement trouver de solution, et finalement, en désespoir de cause, modifie dans gnome-terminal la valeur de Input Method, me rendant compte qu’avec la valeur Simple, le comportement que je souhaite se produit.

N’étant pas exactement à l’aise avec ce nouveau desktop, je ne me lancerai pas en conjectures infondées, mais à la lecture de plusieurs posts, je crois comprendre qu’il faut démarrer scim (Smart Common Input Method) sans la session gnome, et placer les valeurs suivantes dans le fichier ${HOME}/.profile qui sera lu par gdm :

Moyennant quoi: àéüí

phew, ça marche.

J’aborde le problème de manière tout à fait empirique et je n’aime pas ça, mais je crois comprendre qu’un autre Input Method manager est installé par defaut, iiim. J’ai préféré le desinstaller ($ pfexec pkg uninstall SUNWiiim*) afin de ne pas générer de conflits.

Probablement ai-je mal cherché, mais si un lecteur averti possède quelques pointeurs sur la question, je serai ravi de comprendre réellement comment fonctionne tout ce petit monde.

update

ah, oui, le screenshot.