Je passe beaucoup de temps ssh
sur différentes machines, toutes différentes (certaines sont intégrées, certaines exécutent Linux, certaines exécutent BSD, etc.). Sur mes propres machines locales, cependant, j'utilise OS X, qui a bien sûr un espace utilisateur basé sur BSD. Mon environnement local sur ces machines est défini sur en_GB.UTF-8, qui est l'une des options disponibles:
% echo `sw_vers`
ProductName: Mac OS X ProductVersion: 10.8.2 BuildVersion: 12C60
% locale -a | grep -i 'en_gb.utf'
en_GB.UTF-8
Plusieurs des systèmes Linux les plus performants que j'utilise semblent avoir une option équivalente, mais je note que sous Linux, le nom est légèrement différent:
% lsb_release -d
Description: Debian GNU/Linux 6.0.3 (squeeze)
% locale -a | grep -i 'en_gb.utf'
en_GB.utf8
Cela me fait me demander: lorsque j'entre ssh
dans une machine Linux à partir de mon Mac et qu'il transfère toutes mes LC_*
variables avec ce suffixe «UTF-8», cette machine Linux comprend-elle même ce qui lui est demandé? Ou est-ce que cela revient simplement à un autre endroit?
edit: Voici un exemple de ce à quoi je fais référence:
% ssh -v odin
...
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_ALL = en_GB.UTF-8
debug1: Sending env LC_COLLATE = en_GB.UTF-8
debug1: Sending env LC_CTYPE = en_GB.UTF-8
debug1: Sending env LC_MESSAGES = en_GB.UTF-8
debug1: Sending env LC_MONETARY = en_GB.UTF-8
debug1: Sending env LC_NUMERIC = en_GB.UTF-8
debug1: Sending env LC_TIME = en_GB.UTF-8
debug1: Sending env LANG = en_GB.UTF-8
odin:~ % locale | tail -1 # locale is set to .UTF-8 without error...
LC_ALL=en_GB.UTF-8
odin:~ % locale -a | grep 'en_GB.UTF-8' # ... even though .UTF-8 isn't an option
odin:~ %
Dans les deux cas, quel est le mécanisme derrière son comportement et dépend-il d'une configuration particulière (par exemple, verrai-je le même comportement sur un système basé sur BusyBox que sur un système basé sur GNU)?