ssh von Suse auf Solaris - Zeichensatzproblem

18/04/2008 - 15:56 von Rainer Sokoll | Report spam
Hallo,

wenn ich von einer Opensuse 10.3 eine ssh auf ein Solaris 10 mache, sind
auf diesem Solaris alle Umlaute kaputt, ebenso Blockgrafikzeichen, wie
sie curses oder slang verwenden. Terminal ist ein xterm, die fraglichen
Anwendungen laufen in einem screen (wobei die Probleme auch außerhalb
von screen vorhanden sind)
Ein Herumspielen mit TERM, LANG, LC_* hat bisher nichts gebracht -
möglicherweise habe ich auch die richtigige Kombination noch nicht
gefunden.
Wo sollte ich weitersuchen?

Danke,
Rainer
 

Lesen sie die antworten

#1 michael.mauch
18/04/2008 - 17:58 | Warnen spam
Rainer Sokoll wrote:

wenn ich von einer Opensuse 10.3 eine ssh auf ein Solaris 10 mache, sind
auf diesem Solaris alle Umlaute kaputt, ebenso Blockgrafikzeichen, wie
sie curses oder slang verwenden. Terminal ist ein xterm, die fraglichen
Anwendungen laufen in einem screen (wobei die Probleme auch außerhalb
von screen vorhanden sind)
Ein Herumspielen mit TERM, LANG, LC_* hat bisher nichts gebracht -
möglicherweise habe ich auch die richtigige Kombination noch nicht
gefunden.
Wo sollte ich weitersuchen?



Wenn Dein Terminal auf UTF-8 eingestellt ist, der Zielrechner aber
ISO-8859-* ausgibt, gibt es diesen Effekt. Also musst Du entweder Dein
Terminal auf ISO-8859-* umstellen (a) oder Deinen Solaris-Account auf
UTF-8 (b).


a) Eigenes Terminal umstellen:

Bei der KDE-Konsole kannst Du Einstellungen->Kodierung benutzen. Falls
es Dir zu làstig wird, das vor und nach jeder ssh-Sitzung umzustellen,
kannst Du auch sowas basteln:

ssh ()
{
case $1 in
()
echo -en "\033%@"
command ssh "$@"
echo -en "\033%G"
;;
(*)
command ssh "$@"
;;
esac
}

Die echo-Sequenzen funktionieren auf der Linux-Textkonsole und in der
KDE-Konsole (siehe "man console_codes").

Ups, ich sehe gerade, dass Du ausdrücklich _xterm_ geschrieben hast.
Evtl. klappt

LC_ALL= LANG= xterm

Die eingestellte Locale muss auf Deiner Maschine vorhanden sein (siehe
"locale -a | grep de_DE").


b) Account auf der Remote-Maschine umstellen:

Auf der Remote-Maschine:

unset LC_ALL
export LANG=de_DE.utf8

Die eingestellte Locale muss auf der Remote-Maschine vorhanden sein (siehe
"locale -a | grep de_DE").

Diese Befehle kannst Du dann in die .profile auf der Remote-Maschine
einfügen (bei Bedarf garniert mit Tests auf $SSH_CLIENT).


Michael

Ähnliche fragen