Ich habe ein Problem mit meinem locale. Das Problem besteht seit Langem (Jahre), aber ich möchte es endlich lösen. Es macht mir in der console und auch in anderen Anwendungen immer wieder Probleme. Ich habe in den letzten Jahren immer wieder Foren durchsucht, um dieses Problem zu lösen, und Vieles ausprobiert, aber bisher immer erfolglos.
Resultat aus locale:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Kann LC_ALL nicht auf die Standard-Lokale einstellen: Datei oder Verzeichnis nicht gefunden
LANG=de_CH.UTF-8
LC_CTYPE=de_DE.UTF-8,LANG=de_DE.UTF-8
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_MESSAGES="de_CH.UTF-8"
LC_PAPER="de_CH.UTF-8"
LC_NAME="de_CH.UTF-8"
LC_ADDRESS="de_CH.UTF-8"
LC_TELEPHONE="de_CH.UTF-8"
LC_MEASUREMENT="de_CH.UTF-8"
LC_IDENTIFICATION="de_CH.UTF-8"
LC_ALL=
In Yast habe ich als Primäre Sprache Deutsch ausgewählt, wenn ich in ‘Details’ als ‘Detaillierte Locale-Einstellung’ de_CH mit UTF-8 auswähle, kommt die Meldung: ’ Sprache ‘de_CH’ wurde in der Liste der im Verzeichnis
/usr/share/YaST2/data/languages verfügbaren unterstützten Sprachen nicht gefunden.’. In der Tat ist dort keine Datei language_de_CH.ycp vorhanden. Andere haben das so gelöst, dass sie die de_DE-Datei kopiert haben. Das löst das Problem aber nicht wirklich, deswegen ist in Yast jetzt de_DE.UTF-8 eingestellt.
Da ich letzthin oft die Konsole verwende, ist ein anderes Problem mindestens ebenso gravierend: meine Shell (tcsh) lässt keine Umlaute zu. Sobald ich ‘su’ mache (sh) werden Umlaute aber problemlos angezeigt. Das gilt aber auch, wenn ich die sh verwende.
Wenn ich ‘locale -c charmap’ eingebe, erscheint aber in jedem Fall (sowohl tcsh als auch sh):
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Kann LC_ALL nicht auf die Standard-Lokale einstellen: Datei oder Verzeichnis nicht gefunden
LC_CTYPE
ANSI_X3.4-1968
Ich bin also nicht ganz sicher, ob das ganze Problem aus den charmap-Einstellungen entsteht oder locale (oder ob es dasselbe Problem ist). k3b ist ebenfalls der Meinung: “System locale charset is ANSI_X3.4-1968”.
Ich bin ratlos, wo ich mit der Fehlersuche weiterfahren könnte. Ich verstehe nur schon nicht, warum LC_* (ausser LC_CTYPE) weiterhin de_CH.UTF-8 anzeigen, obwohl ich in Yast (zwangsläufig) de_DE habe. Ich finde auch nicht, wo die charmap eingestellt werden kann.
Probleme mit locale habe ich schon einmal gehabt. Das Problem mit LANG=de_CH.UTF-8 ist bei mir noch nie aufgetreten. Es sind ja alle wesentlichen locales vorhanden:
Was zu tun ist um die Standardeinstellung zu ändern steht in der Datei .profile:
karl@3400G:~> cat /home/karl/.profile
# Sample .profile for SuSE Linux
# rewritten by Christian Steinruecken <cstein@suse.de>
#
# This file is read each time a login shell is started.
# All other interactive shells will only read .bashrc; this is particularly
# important for language settings, see below.
test -z "$PROFILEREAD" && . /etc/profile || true
# Most applications support several languages for their output.
# To make use of this feature, simply uncomment one of the lines below or
# add your own one (see /usr/share/locale/locale.alias for more codes)
# This overwrites the system default set in /etc/sysconfig/language
# in the variable RC_LANG.
#
#export LANG=de_DE.UTF-8 # uncomment this line for German output
#export LANG=fr_FR.UTF-8 # uncomment this line for French output
#export LANG=es_ES.UTF-8 # uncomment this line for Spanish output
**export LANG=de_CH.UTF-8 # Schwyzerdütsch**
# Some people don't like fortune. If you uncomment the following lines,
# you will have a fortune each time you log in ;-)
#if -x /usr/bin/fortune ] ; then
# echo
# /usr/bin/fortune
# echo
#fi
karl@3400G:~>
Vielleicht funktioniert diese Lösung auch in der Schweiz.
Vielen Dank für diese ausführliche Anleitung! Sie hat perfekt funktioniert, in ein paar Minuten konnte ich damit das Problem lösen, das mich so lange beschäftigte.
Ich hatte mich zu stark auf “yast2 language” abgestützt und alles drum herum probiert, stattdessen war es selbst Teil des Problems.