Ich verbringe viel Zeit ssh
mit verschiedenen Maschinen, die alle unterschiedlich sind (einige sind eingebettet, einige führen Linux aus, andere führen BSD aus usw.). Auf meinen eigenen lokalen Computern verwende ich jedoch OS X, das natürlich ein auf BSD basierendes Userland hat. Mein Gebietsschema auf diesen Computern ist auf en_GB.UTF-8 festgelegt. Dies ist eine der verfügbaren Optionen:
% echo `sw_vers`
ProductName: Mac OS X ProductVersion: 10.8.2 BuildVersion: 12C60
% locale -a | grep -i 'en_gb.utf'
en_GB.UTF-8
Einige der leistungsfähigeren Linux-Systeme, die ich verwende, scheinen eine äquivalente Option zu haben, aber ich stelle fest, dass der Name unter Linux etwas anders ist:
% lsb_release -d
Description: Debian GNU/Linux 6.0.3 (squeeze)
% locale -a | grep -i 'en_gb.utf'
en_GB.utf8
Ich frage mich daher: Wenn ich ssh
von meinem Mac auf einen Linux-Computer gehe und alle meine LC_*
Variablen mit dem Suffix 'UTF-8' weiterleitet , versteht dieser Linux-Computer überhaupt, was von ihm verlangt wird? Oder fällt es einfach auf ein anderes Gebietsschema zurück?
edit: Hier ist ein Beispiel für das, worauf ich mich beziehe:
% 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:~ %
Was ist in beiden Fällen der Mechanismus hinter seinem Verhalten und hängt es von einem bestimmten Setup ab (z. B. sehe ich auf einem BusyBox-basierten System dasselbe Verhalten wie auf einem GNU-basierten System)?