Was muss ich mit „man: Ich kann das Gebietsschema nicht festlegen; Stellen Sie sicher, dass $ LC_ * und $ LANG korrekt sind. ”


20

Ich tippte man sudoersaber bekam

man: can't set the locale; make sure $LC_* and $LANG are correct
No manual entry for sudoers

Was bedeutet das?


Ich hatte ein ähnliches Problem unter OS X und konnte es durch Auskommentieren SendEnv LANG LC_*in beheben /etc/ssh/ssh_config.
Ilya I

Antworten:


13

Ihr Gebietsschema ist nicht festgelegt. In Debian-Basesollten Sie verwenden dpkg-reconfigure locales, um es einzustellen.

Einige packageshängen von locales packageund sein variablewie ab LC_* series...!

Es bedeutet, $LANGist leer.


6

Ihre durch Umgebungsvariablen angegebenen Gebietsschemaeinstellungen verwenden Gebietsschemanamen, die auf Ihrem System nicht verfügbar sind.

Die Gebietsschemaeinstellungen steuern den von Befehlen und Terminals ( LC_CTYPE) verwendeten Zeichensatz , die Sortierreihenfolge ( LC_COLLATE), das Format der Daten ( LC_TIME), Zahlen ( LC_NUMERIC) und Währungsbeträge ( LC_MONETARY), die Sprache der Nachrichten ( LC_MESSAGES) usw. Die Werte dieser Variablen sind Gebietsschemanamen. Bei den meisten Systemen hat der Name die Form xx_YYoder xx_YY@variantoder xx_YY.charsetwobei xxein aus zwei Buchstaben bestehender Sprachcode und YYein aus zwei Buchstaben bestehender Ländercode ist .

Führen Sie den Befehl aus locale, um Ihre aktuellen Einstellungen anzuzeigen. Führen Sie aus locale -a, um die verfügbaren Gebietsschemanamen anzuzeigen.

Wenn das gewünschte Gebietsschema fehlt, müssen Sie es möglicherweise generieren. Dies ist verteilungsabhängig. Führen Sie zum Beispiel unter Debian dpkg-reconfigure localesals root aus. Führen Sie locale-gen xx_YYauf Ubuntu aus, um das Gebietsschema zu generieren xx_YY.


1

Dies bedeutet, dass Ihr System nicht weiß, in welcher Sprache die Informationen angezeigt werden sollen.

Fügen Sie die Ausgabe des Gebietsschemas ein - wahrscheinlich haben Sie die Gebietsschemas nicht generiert. Dies ist etwas distro-spezifisch, aber normalerweise generiert das Ausführen von locale-gen die Gebietsschemas für Sie, wodurch der Fehler behoben wird . Schauen Sie sich diesen Link an .


1

Unten ist eine Ergänzung zu der Empfehlung dpkg-reconfigure locales, die für mich fehlgeschlagen ist (meine Vermutung ist, dass ich dieses Problem nicht hätte, wenn es funktionieren würde).

Das Problem

me@pc:~$ man
man: can't set the locale; make sure $LC_* and $LANG are correct
What manual page do you want?

Erst versuchen, es zu lösen, scheitert

me@pc:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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
Generating locales...
  en_AG.UTF-8... up-to-date
  ...(lines omitted)...

Zweiter Versuch, gelingt. Ich bekomme immer noch einen Fehler in en_ZW, aber ich benutze ihn nicht.

me@pc:~$ sudo locale-gen en_US en_US.UTF-8 && sudo dpkg-reconfigure locales
...
me@pc:~$ man
what manual page do you want?

Keine LOCALE-Fehler mehr beim Befehl man!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.