Ihr Betriebssystem weiß nichts von en_US.UTF-8
.
Sie haben keine bestimmte Plattform genannt, aber ich kann Ihr Problem reproduzieren:
% uname -a
OSF1 hunter2 V5.1 2650 alpha
% perl -e exit
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC\_ALL = (unset),
LANG = "en\_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Ich vermute, dass Sie ssh verwendet haben, um von einem neueren Desktop-Rechner eine Verbindung zu diesem älteren Host herzustellen. Es ist üblich, dass /etc/ssh/sshd_config
zu enthalten
AcceptEnv LANG LC_*
die es den Clients ermöglicht, die Werte dieser Umgebungsvariablen in neue Sitzungen zu übertragen.
Die Warnung gibt Ihnen einen Hinweis darauf, wie Sie diese Funktion unterdrücken können, wenn Sie das vollständige Gebietsschema nicht benötigen:
% env LANG=C perl -e exit
%
oder mit Bash:
$ LANG=C perl -e exit
$
Für eine dauerhafte Lösung wählen Sie eine der folgenden Möglichkeiten
- Setzen Sie auf dem älteren Host die
LANG
Umgebungsvariable in der Initialisierungsdatei Ihrer Shell.
- Ändern Sie Ihre Umgebung auf der Client-Seite, z.B.. statt
ssh hunter2
verwenden Sie den Befehl LANG=C ssh hunter2
.
- Wenn Sie Administratorrechte haben, verhindern Sie, dass ssh die Umgebungsvariablen sendet, indem Sie die Datei
SendEnv LANG LC_*
Zeile in der . /etc/ssh/ssh_config
Datei. (Dank an diese Antwort . Siehe Fehler 1285 für OpenSSH für mehr).