root kann kein Umlaut mehr

Hallo ins Forum,
ich benötige einen Ratschlag, wie ich root wieder beibringe, Umlaute anzuzeigen und als Datei zu akzeptieren.
Meine Datensicherung führe ich als root durch, damit Berechtigungskonflikte unterbleiben (so empfohlen in Handbuch Start-up 12.3).
Die letzte lief einwandfrei im November, dann führte ich den upgrade auf openSUSE Leap 42.2 (von 42.1) durch und erst jetzt wollte ich wieder Daten sichern.
Dummerweise will root nun ein ‘ä’ im Dateinamen nicht verarbeiten und zeigt dort nur eine Raute mit Fragezeichen.
Naja, dachte ich, stelle root einfach um von Englisch auf Deutsch. Gesagt, getan.
Habe nun meine Einstellungen user versus root abgeglichen in

  • Systemeigenschaften (Sprache ist leer, Formate für Zahlen de_DE)
  • YaST Systemtastatur ist Deutsch mit “toten” Tasten, primäre Sprache Deutsch, Tastaturbelegung an D anpassen=nix
  • Schriftarten Standardwerte aus Voreinstellungen
  • etc/sysconfig-editor Environment Language: alles leer bis auf
    RC_lang: de_DE.UTF-8
    Root_uses_lang: ctype
    Auto_detect_UTF8: yes
    Installed_Languages: de_DE

Beide, root und user sind hier also gleich, dennoch zeigt mir root sogar auch noch in der Anwendungsübersicht Englisch und Deutsch gemischt.

Wo kann ich noch drehen, sodass auch root durchgängig Deutsch kann?

Das sieht mir eher nach einem Zeichensatzproblem aus.

Prüfe bitte mal in einem Terminalfenster die Umgebungsvariablen für die Sprach- und Zeichensatzeinstellungen (als root und normaler Benutzer):

env | grep -i lang
env | grep -i lc

Hendrik

Hallo Hendrik,
in der Tat, da ist ein Delta:
user:
env | grep -i lang
LANG=de_DE.UTF-8
LANGUAGE=
env | grep -i lc

root:
env | grep -i lang
LANG=de_DE.US-ASCII
LANGUAGE=
env | grep -i lc LC_CTYPE=POSIX

Im genialen YaST steht also nicht die ganze Wahrheit - gut, dass es dies Forum gibt!
Was ist dein Vorschlag, wie ich root ändere?

Als User:
Systemeinstellungen----Persönliche Informationen—Regionaleinstellungen—Formate

Als root:
ALT+F2 drücken, in der am oberen Bildschirm erscheinenden Zeile eingeben:

kdesu systemsettings5

Root Passwort eingeben und dann wie oben unter User weitermachen.

Hallo Sauerland,
ok, bin also als root mit Alt + F2 und Passwort hineingegangen, fand dort die gleichen Daten, die ich auch vorher ohne root passwort dort sah - und die identisch sind mit user.
Wie auch immer, habe dort auf Voreinstellungen setzen gedrückt und neu eingeloggt. Es blieb wie es war: keine Umlaute.

Mmh, ich schaute mir jetzt in YaST an: User and groupmanagement / Filter auf Systembenutzer / root
Dort ist ein anderes Passwort, als ich zur root Anmeldung benutze (6 stellig / > 10 stellig).
Offenbar habe ich 2014 eine Doppelbelegung des Passwortes hinbekommen (passt zeitlich: Umstieg von 13.1 auf 13.2).
Das kurze Passwort hatte ich tatsächlich einmal, ist also echt, auch wenn ich es nicht anwende.
DAS hat wohl eher nichts damit zu tun, warum bei Leap 42.1 die Umlaute da sind, bei 42.2 nicht.

Jetzt wird es spannend - danke fürs Mitdenken.
M

Die Einstellungen in /etc/sysconfig/ schauen ja ok aus, aber irgendwoher muss das “LANG=de_DE.US-ASCII” ja kommen.
Was ist der Inhalt von /etc/locale.conf? Das enthält nämlich bei systemd die eigentlichen System Locale Einstellungen, /etc/sysconfig/ wird nur als Kompatibilität benutzt (in openSUSE) wenns nicht existiert.

Übrigens, “kdesu systemsettings5” wird hier nicht viel helfen. Dessen Einstellungen werden nämlich nur dann angewendet wenn sich der entsprechende Benutzer (also root in dem Fall) in einen Plasma5 Desktop einloggt… :wink:

Hallo Wolfi,
was ich vorweg noch tat:
in YaST die Sprachen und Zeichenformate auf British Englisch umgestellt und wieder mit der Konsole gegen geprüft.
Es blieb bei LANG=de_DE.US-ASCII

Als root habe ich mit Dolphin in /etc geschaut, der Reihenfolge nach stehen dort nur
libaudit.conf,
localtime,
localtime.rpmnew,
login.defs
finde dort leider keine Datei namens locale.config.
Auch, wenn ich versteckte Dateien mit angeklickt habe.

Falls die zwingend da sein soll, haben wir offenbar den Grund des Übels.
[Wenigstens gibt es den Ordner etc/sysconfig mit diversen Einträgen (ohne eine locale.config).]

Jetzt wollte ich mir die locale.config einfach neu anlegen und die Daten von user kopieren - aber die Datei gibt es wohl nur einmal auf dem System, besser gesagt, sollte es geben?
Falls dieser Gedanke des Neuanlegens gut ist, was gehört hinein?
Falls nicht, was wäre der nächste Schritt?

Zwingend erforderlich ist sie nicht, es sollte /etc/sysconfig/ als Fallback benutzt werden wenn sie nicht existiert (außer dieses Fallback wurde mittlerweile in 42.2 entfernt, kann momentan nicht schauen da ich auf diesem Rechner hier noch 13.2 installiert habe).

Jetzt wollte ich mir die locale.config einfach neu anlegen und die Daten von user kopieren - aber die Datei gibt es wohl nur einmal auf dem System, besser gesagt, sollte es geben?

Ja, die ist systemweit, sie bestimmt ja auch die Systemeinstellungen.

Und sie anlegen könnte/sollte helfen.
Obwohl wir dann nicht die Ursache des Problems gefunden hätten… :wink:

Falls dieser Gedanke des Neuanlegens gut ist, was gehört hinein?

Sh. “man locale.conf”

In diesem Fall also etwas wie:

LANG=de_DE.UTF-8

Obwohl ich mir jetzt gar nicht mehr so sicher bin ob das überhaupt in openSUSE hilft. (ich glaub ich hab das mit /etc/vconsole.conf durcheinandergebracht)

LANG wird nämlich normalerweise (hier in 13.2 zumindest) beim einloggen durch das Skript /etc/profile.d/lang.csh auf die Werte von /etc/sysconfig/ gesetzt. Für root zwar nur wenn “ROOT_USES_LANG=yes”, anderenfalls sollte es aber auf POSIX gesetzt werden (nicht de_DE.US-ASCII oder ähnliches).
Also scheint irgendwas es hinterher zu ändern (was dann definitiv nicht systemd wäre…).

Falls nicht, was wäre der nächste Schritt?

Tja, rausfinden was LANG auf de_DE.US-ASCII setzt.
Z.B. mit grep danach suchen, vorzugsweise zuerst mal die ganzen Shell-profile scripts:

grep -R de_DE.US-ASCII /etc/bash* /etc/profile*

Eine Möglichkeit wäre, dass es in /root/.profile oder /root/.bashrc gesetzt wird (diese Scripts werden beim Einloggen von root ausgeführt, auch im Textmodus).
Also checke mal diese zwei Dateien, am besten noch bevor du /etc/locale.conf anlegst.

Allerdings: hast du die vorher geposteten Werte gelesen während du als root in Plasma5 (oder einem anderen Desktop) eingeloggt warst?

Dann vergiss vorläufig mal alles was ich hier geschrieben habe, logge dich als root im Textmodus ein (Ctrl+Alt+F1) und poste die Werte nochmal (“env | grep -i lang” speziell). Würde zeigen ob das “Problem” auf die grafische Benutzeroberfläche beschränkt ist oder tiefergreifend.
Obwohl, konsole in einer Benutzersitzung starten und dann mit “su -” auf root wechseln sollte es auch tun.

Hallo Wolfi,
ja, die grep Daten habe ich als root gemacht, und ja, ich bin wohl mit Plasma unterwegs - den Namen Plasma finde ich zwar nicht im KInfoCenter/System, aber die hier und da beschriebenen grafischen Probleme, die auf Plasma zurückgeführt wurden, konnte ich auch bei mir sehen.

Gut, habe also nun deine zuletzt gemachte Anmerkung abgearbeitet:
als root Anmeldung in der Konsole die Abfrage grep -R de_DE.US-ASCII /etc/bash* /etc/profile*.
Da kam erst etwas, als die beiden /etceteras gelöscht waren, nämlich:

linux-3g31:~ # grep -R de_DE.US-ASCII.cache/tracker/locale-for-miner-user-guides.txt:de_DE.US-ASCII
.cache/tracker/locale-for-miner-apps.txt:de_DE.US-ASCII
.config/plasma-locale-settings.sh:export LANG=de_DE.US-ASCII
.config/plasma-localerc:LANG=de_DE.US-ASCII
grep: .mozilla/seamonkey/uu2nc8uu.default/lock: No such file or directory
.xsession-errors-:0:kwin_xkbcommon: XKB: couldn’t find a Compose file for locale “de_DE.US-ASCII”
grep: .kde4/socket-linux-3g31.site: No such file or directory
grep: .local/share/systemd/user: No such file or directory
grep: .local/share/Trash/files/klauncherXM3182.1.slave-socket: No such device or address

und noch 7 weiter aus Trash

Ich denke, deine Nase hat schon gleich richtig auf Plasma gewiesen.
Jetzt wollte ich die Datei config mit Dolphin finden, um sie dann im Writer zu öffnen und dort einfach die Inhalte zu ändern.
Das ist ja heftig, wieviele config es gibt (227 Ordner, 2600 Dateien), habe also nach dem exakten Namen gesucht (auch mal mit *), leider nichts gefunden.
Womöglich geht das so nicht.
Wenn der Gedanke richtig ist, die Datei einfach zu verändern, wie finde ich die am besten auf?

P.S. So ein geführter Blick unter die Haube hat schon seinen eigenen Reiz :slight_smile:

Prinzipiell meinte ich hier einfach einen “grafischen Desktop”, obs jetzt Plasma5 ist oder ein anderer ist zuerst mal zweitrangig.
Die meisten Desktops haben Benutzereinstellungen für die Sprache usw. und wenden die beim Login an, d.h. setzen LANG usw. entsprechend.
Ein Herumprobieren mit den Systemeinstellungen (/etc/sysconfig/, /etc/locale.conf) hat in dem Fall wenig Sinn.

Wo genau diese Einstellungen gespeichert werden, hängt allerdings natürlich vom verwendeten Desktop ab.
Für Plasma5 sollte in der Tat eine Änderung der Sprache in systemsettings5 Wirkung zeigen.

Prinzipiell ist es sowieso keine gute Idee sich als root in einen Desktop einzuloggen, aber lassen wir das mal beiseite…

Gut, habe also nun deine zuletzt gemachte Anmerkung abgearbeitet:
als root Anmeldung in der Konsole die Abfrage grep -R de_DE.US-ASCII /etc/bash* /etc/profile*.
Da kam erst etwas, als die beiden /etceteras gelöscht waren, nämlich:

linux-3g31:~ # grep -R de_DE.US-ASCII.config/plasma-locale-settings.sh:export LANG=de_DE.US-ASCII
.config/plasma-localerc:LANG=de_DE.US-ASCII

Da haben wirs ja.
Plasma’s Spracheinstellungen sind für den Benutzer root auf de_DE.US-ASCII gesetzt.

Ich denke, deine Nase hat schon gleich richtig auf Plasma gewiesen.
Jetzt wollte ich die Datei config mit Dolphin finden, um sie dann im Writer zu öffnen und dort einfach die Inhalte zu ändern.
Das ist ja heftig, wieviele config es gibt (227 Ordner, 2600 Dateien), habe also nach dem exakten Namen gesucht (auch mal mit *), leider nichts gefunden.
Womöglich geht das so nicht.

Natürlich geht das. Klick einfach auf den Ordner .config im Ordner /root/.
Allerdings würde ich nicht eine Textverarbeitung wie Writer dazu nehmen, sondern einen einfachen Texteditor wie kwrite.

Wenn der Gedanke richtig ist, die Datei einfach zu verändern, wie finde ich die am besten auf?

Sie sind im Ordner .config in root’s Homeverzeichnis.

Starte einfach kwrite, wähle “Datei öffnen”, klick auf den Ordner .config und wähle die entsprechende Datei.
Oder gib “kwrite ~/.config/plasma-locale-settings.sh” bzw. “kwrite ~/.config/plasma-localerc” in Konsole ein.

Hallo Wolfi,
Dank für die Antworten.
Habe .config als versteckte Datei gefunden, und wie beschrieben geöffnet.

plasma-localerc geändert von LANG=de_DE.US-ASCII auf LANG=de_DE.UTF-8

plasma-locale-settings.sh Mmh, hier zögere ich, weil

Generated script, do not edit

Exports language-format specific env vars from startkde.

This script has been generated from kcmshell5 formats.

It will automatically be overwritten from there.

export LANG=de_DE.US-ASCII

Suchte im root Verzeichnis nun kcmshell5 und fand es 1x als Programm und 1x als Bibo.
Habe darin gestöbert, aber eine Datei format fand ich nicht.
Da ist ziemlich viel drin, so dass ich nicht weiter weiß.

Ändere sie genauso.

Diese Datei setzt genau LANG (und evtl. andere Variablen) beim einloggen.

Sie wird automatisch generiert wenn du die Spracheinstellungen in systemsettings5 änderst, sonst nicht.
Die eigentliche Einstellung wird nach plasma-localerc geschrieben, das dient aber mehr oder weniger nur dazu das systemsettings5 die momentane Einstellung anzeigen kann.

Suchte im root Verzeichnis nun kcmshell5 und fand es 1x als Programm und 1x als Bibo.
Habe darin gestöbert, aber eine Datei format fand ich nicht.

Nein, du kannst die Spracheinstellungen auch mit “kcmshell5 formats” starten. Wenn du dort was änderst wird diese Datei generiert.
systemsettings5 ist nur eine Hülle für alle Einstellungsmodule. Man kann sie auch einzeln via kcmshell5 starten.

Hallo Wolfi, et.al.
Zucker - das war es.

linux-3g31:~ # env | grep -i lang
LANG=de_DE.UTF-8
LANGUAGE=

Die Arbeitsumgebung ist nicht mehr englisch / deutsch gemischt, Umlaute sind akkurat angezeigt und die Datensicherung ist in trockenen Tüchern.

Ich danke euch sehr für die Zeit und Gedankenkraft!

M