Fehler: Systemweite Sprache von de_DE auf en_US geändert

Heute Morgen wurde mir angeboten, die deutschen Bezeichnungen für die /home/user/Verzeichnisse auf englische Bezeichnungen umzustellen.

Mein System: Kernel: 6.6.16-1-lts arch: x86_64 bits: 64 Desktop: Xfce v: 4.18.1 Distro: EndeavourOS

Wer weiß, wie man die Einstellungen auf Deutsch einstellen kann? Denn systemweit wird nun en_US von den Programmen, Kontextmenü usw. genutzt.

Der Artikel: https://wiki.archlinux.de/title/Arch_Linux_auf_Deutsch_stellen
zeigte nicht anderes, als schon eingestellt war.

$ locale
LANG=de_DE.UTF-8
LC_CTYPE=“C”
LC_NUMERIC=“C”
LC_TIME=“C”
LC_COLLATE=“C”
LC_MONETARY=“C”
LC_MESSAGES=“C”
LC_PAPER=“C”
LC_NAME=“C”
LC_ADDRESS=“C”
LC_TELEPHONE=“C”
LC_MEASUREMENT=“C”
LC_IDENTIFICATION=“C”
LC_ALL=C

Bedeutet die Variable “C”, kopiere die Variable der ersten Zeile?

Die /etc/locale.conf hat immer noch folgenden Inhalt, also ohne der Variable “C”:
LANG=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_PAPER=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_TIME=de_DE.UTF-8

$ locale -a
C
C.utf8
POSIX
de_DE.utf8

$ cat /home/user/.config/user-dirs.locale
de_DE

Hier meine /var/log/pacman.log:
[2024-02-13T09:22:22+0100] [PACMAN] Running ‘pacman -Syu’
[2024-02-13T09:22:22+0100] [PACMAN] synchronizing package lists
[2024-02-13T09:22:22+0100] [PACMAN] starting full system upgrade
[2024-02-13T09:22:29+0100] [ALPM] transaction started
[2024-02-13T09:22:29+0100] [ALPM] upgraded gcr-4 (4.1.0-1 → 4.2.0-1)
[2024-02-13T09:22:29+0100] [ALPM] upgraded imagemagick (7.1.1.27-1 → 7.1.1.28-1)
[2024-02-13T09:22:29+0100] [ALPM] upgraded jasper (4.1.1-1 → 4.2.0-1)
[2024-02-13T09:22:29+0100] [ALPM] upgraded libnfs (5.0.2-1 → 5.0.3-1)
[2024-02-13T09:22:29+0100] [ALPM] upgraded man-pages (6.05.01-2 → 6.06-2)
[2024-02-13T09:22:30+0100] [ALPM] upgraded openexr (3.2.1-1 → 3.2.2-1)
[2024-02-13T09:22:30+0100] [ALPM] upgraded pango (1:1.51.1-1 → 1:1.51.2-1)
[2024-02-13T09:22:30+0100] [ALPM] transaction completed
[2024-02-13T09:22:30+0100] [ALPM] running ‘30-systemd-daemon-reload-user.hook’…
[2024-02-13T09:22:30+0100] [ALPM] running ‘30-systemd-update.hook’…
[2024-02-13T09:22:30+0100] [ALPM] running ‘detect-old-perl-modules.hook’…
[2024-02-13T09:22:30+0100] [ALPM] running ‘rebuild-detector.hook’…

Ein Verdacht von mir ist perl.

Seltsam, hoffentlich schreckt das Umsteiger nicht ab.

Mein Vorgehen:
Programme mit speziellem Terminus habe ich manuell auf Deutsch eingestellt, bis zur endgültigen Lösung.

Meine erfolglosen Versuche:
perl reinstalliert
~/.config/locale.conf erstellt

extra/xdg-user-dirs-gtk 0.11-2 (50.7 KiB 180.0 KiB) [gnome] 
    Creates user dirs and asks to relocalize them

wird das gewesen sein… aber das sollte so nicht passieren… das einzige was ich jetzt im Kopf habe is soetwas wie der DM (LightDM) bietet an die Sprache zu setzen?

versuche:

/usr/bin/xdg-user-dirs-gtk-update

https://wiki.archlinux.org/title/XDG_user_directories

wenn der Befehl nicht hilft kann die Einstellung auch forciert werden:
LANG=de_DE.UTF-8 xdg-user-dirs-update --force

Danke für deine Unterstützung. Doch das würde nur die Verzeichnisse betreffen und nicht die globale Änderung der System-Sprache.

In den Dateien /etc/lightdm/lightdm.conf und /etc/lightdm/slick-greeter.conf sind keine Spracheinstellungen.

XFCE4 nutzt soweit ich weiss die Systemweiten Einstellungen für die Spracheinstellungen (ausser das Keyboard)

Aber die Ausgabe von locale die du anzeigst ist seltsam… das müsste so aussehen:

nein eher die Systemweite Locale=C also das Fallback zu benutzen (Englisch).

https://wiki.archlinux.de/title/Locale
https://wiki.archlinux.de/title/Arch_Linux_auf_Deutsch_stellen

Und das ist kein generelles Problem das alle Benutzer haben, ich sehe keine solche Änderung in meinen 7 installierten EndeavourOS Instanzen :wink:

Danke für deine Antwort.
Beide Artikel sind mir bekannt und brachten keine Lösung. Ich hoffe, dass ich nichts übersehen habe :slight_smile:
Also wäre es sehr interessant, an welcher Stelle das fallback ausgelöst wurde.

Ansonsten sind noch 3 Dinge zu bemerken:

  • Es ist eine Standard-Installation ohne Komplikationen
  • Auch das neu Installieren von den 36 Perl-Modulen hatte nicht geholfen
  • Also wie passiert es, das “$ locale” etwas anderes anzeigt , als “/etc/locale.conf”?

Auch env zeigt überall de_DE nur nicht bei “LC_ALL=C”:
$ env
SHELL=/bin/bash
SESSION_MANAGER=local/user-pc:@/tmp/.ICE-unix/872,unix/user-pc:/tmp/.ICE-unix/872
WINDOWID=41943215
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg
FUNCNEST=100
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_MENU_PREFIX=xfce-
LC_ADDRESS=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
SSH_AUTH_SOCK=/tmp/ssh-XXXXXXWnHT44/agent.930
DESKTOP_SESSION=xfce
LC_MONETARY=de_DE.UTF-8
SSH_AGENT_PID=932
EDITOR=nano
GTK_MODULES=canberra-gtk-module:canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/user
LOGNAME=user
XDG_SESSION_DESKTOP=xfce
XDG_SESSION_TYPE=x11
PANEL_GDK_CORE_DEVICE_EVENTS=0
XAUTHORITY=/home/user/.Xauthority
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/user
MOTD_SHOWN=pam
HOME=/home/user
LC_PAPER=de_DE.UTF-8
LANG=de_DE.UTF-8
XDG_CURRENT_DESKTOP=XFCE
VTE_VERSION=7402
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
TERM=xterm-256color
LC_IDENTIFICATION=de_DE.UTF-8
USER=user
DISPLAY=:0.0
SHLVL=1
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
XDG_VTNR=7
XDG_SESSION_ID=1
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org
LC_TIME=de_DE.UTF-8
LC_ALL=C
GTK3_MODULES=xapp-gtk3-module:xapp-gtk3-module
XDG_DATA_DIRS=/usr/local/share:/usr/share
BROWSER=firefox
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
GDMSESSION=xfce
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/user
LC_NUMERIC=de_DE.UTF-8
_=/usr/bin/env

Eventuell hat “Der Doktor” zu schnell die Fehlererfassung abgebrochen, mit “das ist kein generelles Problem”.
Hat möglicherweise noch jemand dieses Problem nach dem letzten Update/Upgrade?

Abgebrochen hab ich ja nix aber wenn das ein generelles Problem wäre müsste es reproduzierbar sein …
Wurde auch ein erneutes sudo locale-gen gemacht?

 /etc/locale.gen ist in glibc 2.39-1 enthalten

Habe jetzt auch versuch das irgendwie zu reproduizieren…

Müsste man jetzt mal recherchieren ob irgendwo jemand soetwas berichtet hat im Netz…

echo "$LANG"

zeigt Deutsch an?

Und werden Fehler ausgegeben wenn du Applikationen über das Terminal startest?

Danke für Dein Engagement. Die Aussage “keine solche Änderung in meinen 7 installierten EndeavourOS Instanzen” hat schon Gewicht :slight_smile:

Tatsächlich hatte ich die locale Generierung schon mehrfach durchgeführt:
sudo locale-gen
[sudo] password for user:
Generating locales…
de_DE.UTF-8… done
de_DE.UTF-8… done
Generation complete.

$ echo “$LANG”
de_DE.UTF-8

Richtig, es gibt seit dem einige Probleme. Zum Beispiel startet die Service-Zentralle “Welcome” von Endevaour nicht mehr.
Im Terminal und Konsole gibt es keine Probleme, abgesehen das eben bisherige deutsche Informationen, wie von pacman, nun in Englisch angezeigt werden.

Es ist sehr müsteriös :slight_smile:

Beim reinstall von glibc wurde lmdb mit neuer Version geholt. Doch das könnte Zufall sein und nicht unbedingt eine Abhängigkeit sein.
Nun starte ich mal neu und melde mich bei positiver Auswirkung.

Nochmal Danke an joekamprad!!!


ist einfach gerade upgedated worden…

ich meine wenn ein Programm aus dem Terminal heraus gestartet wird z.B. thunar

perl -e 'print "Hi!\n";'

z.B. könnte auch Fehler zeigen…

cat ~/.dmrc

?

Habe jetzt mal 10 verschiedene Programme mit GUI aus dem Terminal gestartet, keine Probleme.
Nur habe ich beispielsweise in keepassxc festgestellt, dass die Sortierung zwar alphabetisch ist, aber zuerst mit allen Großbuchstaben und erst danach die Kleinbuchstaben.

$ perl -e 'print "Hi!\n";'
Hi!
$ cat ~/.dmrc
cat: /home/user/.dmrc: No such file or directory

auch keine ~/.profiles Datei? oder ~/.config/environment.d/ Einträge?

Soweit sieht es einfach so aus als ob das system auf Englisch eingestellt is… sonst müsste das alles Fehler Meldungen ausgeben…

sudo unset LANG
sudo source /etc/profile.d/locale.sh

Ändert was?
Das resettet/löscht die Spracheinstellung und liest diese neu aus der /etc/locale.conf ein

Es existiert nur als Singular:
/home/user/.profile

Es existiert nicht:
~/.config/environment.d/

gut gut Plural wäre seltsam :wink:
was steht da drinnen (könnte jetzt schon Plural von Wort enthalten)

$ sudo unset LANG
sudo: unset: command not found

sudo source /etc/profile.d/locale.sh
sudo: source: command not found

/etc/profile.d/locale.sh

#!/bin/sh

# load locale.conf in XDG paths.
# /etc/locale.conf loads and overrides by kernel command line is done by systemd
# But we override it here, see FS#56688
if [ -z "$LANG" ]; then
  if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
    . "$XDG_CONFIG_HOME/locale.conf"
  elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then
    . "$HOME/.config/locale.conf"
  elif [ -r /etc/locale.conf ]; then
    . /etc/locale.conf
  fi
fi

# define default LANG to C if not already defined
LANG=${LANG:-C}

# export all locale (7) variables when they exist
export LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \
       LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \
       LC_IDENTIFICATION

Könnte ich einfach die Variable ändern?


LANG=${LANG:-C}
in
LANG=${LANG:de_DE.UTF-8}