Archiv
Archiv IndexBlog-Status
Anzahl Kategorien: 7Anzahl Einträge: 108
Letzter Eintrag: 03.05.2010 21:13:04
Zuletzt geändert: 16.05.2010 23:13:05
Anzahl Besuche:
RSS, Atom
Powered by
NanoBlogger 3.4.2
Fight Spam! Click Here!
04.12.2009 10:57:43
Problem with locales on remote server via ssh
I recently had the problem, that I got the following error when I connection to a new debian-server via ssh and then called locale:
locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en_US.UTF-8 LC_CTYPE=de_DE@euro LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER=de_DE.UTF-8 LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
The same problem manifested in perl:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "de_DE.UTF-8",
LC_CTYPE = "de_DE@euro",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
First I thought it was a problem on the remote server. Googeling around I found a lot of users with the same problem, but not really a solution how to fix it correctly and what the problem is in the first place.
In the end some hints brought me to the solution: Debian in its default configuration allows ssh to set some environment-variables on the remote server. This is configured in /etc/ssh/ssh_config with the line SendEnv LANG LC_*. I think debian went this route to allow umlauts and other special chars to be possible in a ssh-session. Now, if the locale-setting on your local machine is not installed on the remote-system you get the aforementioned error-messages when you ssh to the remote server.
So, to get rid of this problem (which normally is only cosmetic) you have two possiblities:
- Don't send the environment locales from your locale machine to the remote machine. I took this way by just commenting out the line SendEnv LANG LC_* in /etc/ssh/ssh_config as I don't see any reason to set it on the remote system.
- Or install the locale which you use on your local system on the remote system.
I hope this helps some people coping with this problem and searching for an answer.
Erstellt von Jerri | Kategorie: Konsole


