(workaround) utf-8 de-de UND utf-8 de-ch

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
michaa7
Beiträge: 5061
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

(workaround) utf-8 de-de UND utf-8 de-ch

Beitrag von michaa7 » 24.01.2007 06:13:44

Ich habe nun einen rechner fertig gemacht, der zu meinem bruder in die Schweiz geht. Er ist so eingerichtet, dass ich ggf. per ssh darauf zugreifen kann. Hier habe ich natürlich alles mit einer normalen de-de lokalisation eingerichtet, auch mein eigene tastatur hat die normale deutsche belegung.
Mein bruder verwendet jedoch eine schweizer tastatur. Ich möchte die lokalisation für ihn auf de-ch umstellen. Mit "dpkg-reconfigure locales" habe ich bereits beide locale erzeugen lassen, aber KEINE standart lokalisation festgelegt, weil ich vorher hier nachfragen wollte, WIE ich für den schweizer user die eine und für mich, den deutschen user eine andere lokalisation einrichte? Der hintergrund ist, dass ich beim zugriff über ssh nicht plötzich vor kodierungsproblemen sitzen will ( die unterschiede der de-de tastatur zur de-ch tastatur sind recht groß und betreffen alle umlaute und sonderzeichen!

Daher: Wie richte ich jeweils für jeden user eine eigene locale ein? Und was wird dabei aus dem system? us?
Zuletzt geändert von michaa7 am 25.01.2007 04:56:02, insgesamt 1-mal geändert.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.01.2007 08:36:28

michaa7 hat geschrieben:die unterschiede der de-de tastatur zur de-ch tastatur sind recht groß und betreffen alle umlaute und sonderzeichen!
Die Tastatur hat aber praktisch nichts mit den Locale Einstellungen zu tun.
Encoding, Font und Locale müssen in jedem Fall in Einklang gebracht werden, wenn du danach aber die Tastatur wechseln würdest, kannst du die Locale Einstellungen trotzdem gleich belassen und alle deine Sondertasten werden richtig interpretiert und dargestellt.
Umgekehrt kannst du auch die Locale Einstellung wechseln, ohne die Tastaturkonfiguration zu ändern.
Abgesehen davon, wird deine Tastatur, wenn du dich über SSH verbindest, von deinem Client-PC interpretiert.

Die Standard-Locale würde ich daher auf "de_CH" umstellen.

Für deine SSH Verbindung hast du dann mehrere Alternativen:
Du könntest auch die "de_CH" Locale verwenden, du würdest es wahrscheinlich nicht einmal merken
Du kannst SSH so konfigurieren, daß deine Locale Einstellung vom Client zum Server übertragen wird ( siehe "man sshd_config": SendEnv, AcceptEnv ), mußt aber darauf achten, daß diese nicht von einem Profile/Login-Script überschrieben wird.
oder du setzt die Locale Einstellungen ( LANG, LC_* und LANGUAGE ) in deinem Profile(s) am Server auf einen fixen Wert.

Gruß
gms

michaa7
Beiträge: 5061
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 24.01.2007 17:23:09

danke für deine hinweise.

Auf de-ch umzustellen ist mir nur für das system (root) gelungen. Abwohl ich ähnliches vor tagen bei meinem eigenen computer machen musste (iso auf utf), und ich es dort nach eingen schwierigkeiten schaffte, bekomme ich dies hier auf dem computer nicht hin. locale für root zeigt immer utf-8 de-ch, für dejn nutzer immer de_DE@euro. Ich habe schon mehrrfach "rm -rf /etc/sysconfig /etc/environment" ausgeführt, aber es klappt nicht.

Folgende meldung erscheint:

Code: Alles auswählen

$ 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@euro
LC_CTYPE="de_DE@euro"
LC_NUMERIC="de_DE@euro"
LC_TIME="de_DE@euro"
LC_COLLATE="de_DE@euro"
LC_MONETARY="de_DE@euro"
LC_MESSAGES="de_DE@euro"
LC_PAPER="de_DE@euro"
LC_NAME="de_DE@euro"
LC_ADDRESS="de_DE@euro"
LC_TELEPHONE="de_DE@euro"
LC_MEASUREMENT="de_DE@euro"
LC_IDENTIFICATION="de_DE@euro"
LC_ALL=
//Edit: Was ich zwischenzeitlich noch festgestellt habe:
1.Für neue user funktioniert das.
2. Für root wird zwar für "locale" "de_CH.UTF-8" angezeigt, dennoch werden hier in der konsole die umlaute nicht richtig angezeigt. Was müsste ich also im home verzeichnis löschen?

Wo sind die obigen einstellungen denn gespeichert?
Im user home kann ich nur in den files Xsession und Xressouces sprachkodierungen feststellen, natürlich die falschen (iso). Ich möchte die files auf grund der warnungen nicht so einfach editieren. Wie kann ich die einstellungen ändern?


Woran muss ich drehn?
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.01.2007 20:38:52

michaa7 hat geschrieben:Ich habe schon mehrrfach "rm -rf /etc/sysconfig /etc/environment" ausgeführt, aber es klappt nicht.
Seit Etch wird die Standardlocale hauptsächlich in der Datei "/etc/default/locale" gespeichert, im Normalfall sollte diese Einstellungen, die Settings von "/etc/environment" überschreiben

Auszug aus /etc/pam.d/login:

Code: Alles auswählen

session       required   pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session       required   pam_env.so readenv=1 envfile=/etc/default/locale
michaa7 hat geschrieben: 1.Für neue user funktioniert das.
wo funktionierts bei den alten Usern nicht ( Konsole und/oder X ).
Die "/etc/default/locale" Einstellung sollte auch für die Displaymanager ziehen, ansonsten ist im "Normalfall" eine Herumpfrimelei notwendig, wenn man erreichen will, daß verschiedene User eine unterschiedliche Locale verwenden.
Allerdings bei KDE (vielleicht auch Gnome) wird die Locale-Einstellung beim ersten Einstieg abgefragt und sicher irgendwo abgespeichert
michaa7 hat geschrieben: 2. Für root wird zwar für "locale" "de_CH.UTF-8" angezeigt, dennoch werden hier in der konsole die umlaute nicht richtig angezeigt.
versuche in der Konsole ein "dpkg-reconfigure console-setup" und dort für Encoding auf "UTF-8" und Zeichensatz auf "Latin1" einstellen.

Gruß
gms

michaa7
Beiträge: 5061
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 24.01.2007 21:20:37

zwischenzeitlich hatte ich mein kde-languge environment geschrottet, es kam freude auf.... nach de- und reinstall von halb kde geht das jetzt wieder und ich kann mich dem eigentlichen problem wieder widmen. Ich habe nun, nachdem auch "dpkg-reconfigure console-setup" keine besserung brachte folgenden workaround angewandt (wobei ich darauf hinweise, dass es NICHT darum geht verschiedene "locale" für unterschiedliche user einzurichten!):

Drei dateien im Home beinhalten sprachrelevante settings: .bashrc, .emacs und .Xresources

In der .bashrc habe ich jeweils "de_DE@euro" durch "de_CH.UTF-8" per hand ersetzt. Die folgende zeile

Code: Alles auswählen

export MM_CHARSET=ISO-8859-15
habe ich auf "export MM_CHARSET=UTF-8" abgeändert. Vllt kann mir jemand sagen, zu was MM_CHARSET dient?

.emacs habe ich ersatzlos weggesichert, ebenso .Xesources:

Code: Alles auswählen

$ cat .Xresources.save
! ---- language-env DON'T MODIFY THIS LINE!
! ISO-8859-15 (Latin-9) fonts for XTerm
XTerm*Font: -misc-fixed-medium-r-normal--13-*-*-*-*-*-iso8859-15
XTerm*Font2: -misc-fixed-medium-r-normal--8-*-*-*-*-*-iso8859-15
...
Bei dieser datei wußte ich nicht wie ich das ersetztzen soll. Bis jetzt funktioniert alles. Vllt weiß ja jemand, ob und welche fehlfunktion ich damit eventuell provoziere.

Mit diesem workaround hat auch dieser user als locale das gewünschte de_CH.UTF-8

Ggf. sind verbesserungkommentare durchaus noch erwünscht ...
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Antworten