854 Stimmen

Wie man eine Locale-Einstellungswarnung von Perl behebt

Wenn ich laufe perl erhalte ich die Warnung:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC\_ALL = (unset),
    LANG = "en\_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Wie kann ich es reparieren?

5voto

Ich habe dieses Problem immer dann, wenn ich ein Perl-Skript, wie enum4linux, auf dem neuesten Kali Linux Version.

kali@kali:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Kali
Description:    Kali GNU/Linux Rolling
Release:    2020.3
Codename:    kali-rolling
kali@kali:~$

Z.B.,

kali@kali:~$ enum4linux
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_ADDRESS = "ms_MY.UTF-8",
    LC_NAME = "ms_MY.UTF-8",
    LC_MONETARY = "ms_MY.UTF-8",
    LC_PAPER = "ms_MY.UTF-8",
    LC_IDENTIFICATION = "ms_MY.UTF-8",
    LC_TELEPHONE = "ms_MY.UTF-8",
    LC_MEASUREMENT = "ms_MY.UTF-8",
    LC_TIME = "ms_MY.UTF-8",
    LC_NUMERIC = "ms_MY.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
enum4linux v0.8.9 (http://labs.portcullis.co.uk/application/enum4linux/)
Copyright (C) 2011 Mark Lowe (mrl@portcullis-security.com)

Sehen Sie sich die Warnmeldung an.

perl: warning: Falling back to a fallback locale ("en_US.UTF-8").

Beachten Sie auch, dass LC_ALL = (unset)

Die Lösung ist einfach. Alles, was Sie tun müssen, ist, sie einzustellen.

export LC_ALL=en_US.UTF-8

Z.B.,

kali@kali:~$ export LC_ALL=en_US.UTF-8
kali@kali:~$

Und Problem gelöst

kali@kali:~$ enum4linux
enum4linux v0.8.9 (http://labs.portcullis.co.uk/application/enum4linux/)
Copyright (C) 2011 Mark Lowe (mrl@portcullis-security.com)

Um eine dauerhafte Lösung zu finden, sollten Sie sie in die .bashrc Datei.

4voto

Alex Kosenkov Punkte 145

Im Anschluss an die akzeptierte Antwort:

LANG=C ssh hunter2.

LC_ALL=C ssh hunter2

auf der Client-Seite hat bei mir funktioniert.

4voto

Surender Punkte 737

Exportieren Sie die Variable

$ export LANGUAGE=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ export LC_CTYPE=en_US.UTF-8

Nächster Lauf

$ sudo locale-gen
$ sudo dpkg-reconfigure locales 

Wenn Sie dpkg-reconfigure locales werden Sie aufgefordert, die Sprachumgebungen auszuwählen, wählen Sie en_US.UTF-8 . Wenn Sie alle Sprachumgebungen auswählen, wird die Konfiguration einige Zeit in Anspruch nehmen.

4voto

Joseph Briggs Punkte 902

Mit zsh ohmyzsh fügte ich dies der Datei .zshrc :

 # You may need to manually set your language environment
 LANGUAGE=en_US.UTF-8
 LANG=en_US.UTF-8
 LC_CTYPE=en_US.UTF-8
 LC_ALL=en_US.UTF-8

Durch Entfernen der Zeile export LANG=en_US.UTF-8

Öffnen Sie eine neue Registerkarte und melden Sie sich per SSH an, bei mir hat es funktioniert :)

4voto

Adrian W Punkte 3888

Eine weitere Git-bezogene Antwort:

Die Ursache des Problems könnte in der Git Server . Wenn alles andere fehlschlägt, versuchen Sie dpkg-reconfigure locales (oder was auch immer für Ihre Distribution geeignet ist) auf dem Server .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X