SSH und Sprachen?!

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
pcace
Beiträge: 239
Registriert: 28.08.2011 01:08:55

SSH und Sprachen?!

Beitrag von pcace » 07.09.2011 16:41:05

Hi,

ich habe hier einen Debian Server stehen und 2 Macs von denen ich auf den Server per SSh zugreife. Der eine Mac hat eine Englische Tastatur, der eine eine Deutsche, beide Macs laufen auf deutsch. Wenn ich mich nun von dem Mac mit der englischen Tastatur auf dem Server anmelde bekomm eich per SVN Fehler:

Code: Alles auswählen

svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_ALL is de_DE
svn: warning: please check that your locale name is correct
svn: Can't convert string from 'UTF-8' to native encoding:
svn: bla/bla/bla/Images/W?\195?\188rfel seitlich.svg
Von dem Mac mit der deutschen Tastatur funktioniert das super!

Nun ist die Frage wo der Fehler liegt! Muss ich da auf dem Mac suchen oder auf dem Server?!

Locale gibt folgendes auf dem Server aus:
root@server:/home/pcace# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE"
LC_NUMERIC="de_DE"
LC_TIME="de_DE"
LC_COLLATE="de_DE"
LC_MONETARY="de_DE"
LC_MESSAGES="de_DE"
LC_PAPER="de_DE"
LC_NAME="de_DE"
LC_ADDRESS="de_DE"
LC_TELEPHONE="de_DE"
LC_MEASUREMENT="de_DE"
LC_IDENTIFICATION="de_DE"
LC_ALL=de_DE
root@server:/home/pcace# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX
de_DE.utf8
root@server:/home/pcace#
Auch wenn ich etwas von dem Mac mit der Englischen Tastatur installiere, bekomme ich komische Meldungen ausgespuckt:
root@t64:/home/hannes# apt-get install avrdude
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
avrdude-doc
The following NEW packages will be installed:
avrdude
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 198 kB of archives.
After this operation, 897 kB of additional disk space will be used.
Get:1 http://ftp.de.debian.org/debian/ wheezy/main avrdude i386 5.10-3 [198 kB]
Fetched 198 kB in 0s (354 kB/s)
Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 33, in <module>
from ALChacks import *
File "/usr/share/apt-listchanges/ALChacks.py", line 32, in <module>
sys.stderr.write(_("Can't set locale; make sure $LC_* and $LANG are correct!\n"))
NameError: name '_' is not defined
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "de_DE",
LC_CTYPE = "UTF-8",
LANG = "de_DE.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously deselected package avrdude.
(Reading database ... 44659 files and directories currently installed.)
Unpacking avrdude (from .../avrdude_5.10-3_i386.deb) ...
Processing triggers for man-db ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up avrdude (5.10-3) ...
root@t64:/home/hannes#

Eigentlich würde ich davon ausgehen, dass es an dem Mac liegt, aber auf dem Server lief vorher ubuntu und da hatte ich das Problem nicht... Ideen?


Grüße,

Pcace

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: SSH und Sprachen?!

Beitrag von rendegast » 07.09.2011 17:48:59

...
LC_MEASUREMENT="de_DE"
LC_IDENTIFICATION="de_DE"
LC_ALL=de_DE
root@server:/home/pcace# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX
de_DE.utf8
Wie hast Du das hinbekommen?
Nicht über das Standardwerkzeug 'dpkg-reconfigure locales',
mit dem würde
LANG=de_DE.UTF-8
in /etc/default/locales gesetzt.
Hast Du noch woanders manuell das unpassende 'LANG=de_DE' gesetzt?
LC_ALL = "de_DE",
LC_CTYPE = "UTF-8",
LANG = "de_DE.UTF-8"
Oder vielleicht mit einem windows/mac/grafischen Editor Konfigurationsdateien editiert und damit Steuerzeichen eingebaut?
Zuletzt geändert von rendegast am 08.09.2011 09:47:24, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

pcace
Beiträge: 239
Registriert: 28.08.2011 01:08:55

Re: SSH und Sprachen?!

Beitrag von pcace » 08.09.2011 00:55:38

Hi,

in der /etc/environment waren einige sachen eingetragen. ich habe das jetzt mal gelöscht, und per dpkg-reconfigure locales nochmal die locales neu geschrieben:
root@server:/home/user# locale -a
C
C.UTF-8
de_DE.utf8
POSIX
root@t64:
Das Problem besteht aber weiterhin...

Was muss ich machen, damit das System komplett einfach nurnoch auf englisch läuft?!


Grüße,

Pcace

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: SSH und Sprachen?!

Beitrag von rendegast » 08.09.2011 08:49:54

damit das System komplett einfach nurnoch auf englisch läuft?!
(Ich vermute das Problem eher in den fehlerhaften Konfigurationen)
Wähle beim 'dpkg-reconfigure locales' die en_US-Varianten, und als default-locale "en_US.UTF-8".
Für das Funktionieren des Systems reichen die UTF-8.

Manchmal hilfreich ist aber auch, zusätzlich noch die iso8859-1 und iso8859-15 ("@euro")
als Alternativen generiert zu haben, zBsp. für Konsolenbrowser.
Oder auch falls eine SSH-Session diese anfragt.


Dein "C.UTF-8" ist unsinnig und kommt nicht über 'dpkg-reconfigure locales',
durchsuche nochmal die entsprechenden Stellen danach.
C.UTF-8 soll verschwinden!
Vielleicht hilft Löschen von
/etc/locale.gen
/usr/lib/locale/locale-archiv
und 'dpkg-reconfigure locales', alternativ 'aptitude reinstall locales'.

Eventuell ist
/usr/share/i18n/SUPPORTED beschädigt oder modifiziert?
-> locales reinstallieren.

/etc/locale.gen sollte nicht händisch editiert werden, da sowas den Konfigurationsmechanismus stören könnte.


Getestet wird jeweils mit einem Login-Vorgang (grafisch: neues xterm) und 'locale',
da aktive shells / subshells von solchen Änderungen gewöhnlich nichts mitbekommen.




-------------------------------------------
C / POSIX ist sowieso immer dabei.
Beim Auswählen von "None" werden Einträge in /etc/default/locale kommentiert,
die LC_* sind dann POSIX.
Empfehle ich aber nicht.

Alle Sprachen im dpkg-reconfigure abgewählt führt zu so etwas:
# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
C
POSIX
und bringt dann auch entsprechende Meldungen/Warnungen bei zBsp. Upgrades.




-------------------------------------------------------------
Mein gegenwärtiges Setup:

Code: Alles auswählen

$ egrep -v  "^#"  /etc/locale.gen

de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
de_DE@euro ISO-8859-15
en_US ISO-8859-1
en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
$ cat /etc/default/locale 
#  File generated by update-locale
LANG=de_DE.UTF-8

-> solche Ausgabe:
$ locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_DE@euro
deutsch
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
german

root bekommt LANG=en_US.UTF-8 über seine ~.bashrc.

Um die Paket-Übersetzungen draußen zu halten:

Code: Alles auswählen

# apt-config dump | egrep -i "trans|lang"
APT::Acquire::Translation "environment";
Acquire::Languages "none";

/etc/environment ist dabei ein leerer dummy.
(zBsp. für sudo, su, cron, fcron, usw. (siehe /etc/pam.d/))
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

dvo
Beiträge: 1
Registriert: 01.09.2012 21:37:22

Re: SSH und Sprachen?!

Beitrag von dvo » 01.09.2012 21:48:40

Das Problem ist, dass Mac OS X (zumindest Lion) eine für andere Systeme unbrauchbare Umgebungsvariable LC_CTYPE = "UTF-8" setzt und diese per SSH weitergibt.
Zwei Lösungen:
* z.B. in ~/.bashrc:

Code: Alles auswählen

unset LC_CTYPE
* in /etc/ssh_config die Zeile

Code: Alles auswählen

SendEnv LANG LC_*
mit '#' davor auskommentieren:

Code: Alles auswählen

#SendEnv LANG LC_*

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: SSH und Sprachen?!

Beitrag von roli » 03.09.2012 15:01:33

Hi,

mal rein Interesse halber, was passiert wenn du die `Tastaturen tauschst?
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten