Wie behebe ich eine Warnung zur Gebietsschemaeinstellung von Perl?

596

Wenn ich renne perl, bekomme ich die Warnung:

Perl: Warnung: Das Einstellen des Gebietsschemas ist fehlgeschlagen.
Perl: Warnung: Bitte überprüfen Sie Ihre Gebietsschemaeinstellungen:
    LANGUAGE = (nicht gesetzt),
    LC_ALL = (nicht gesetzt),
    LANG = "en_US.UTF-8"
werden auf Ihrem System unterstützt und installiert.
Perl: Warnung: Zurückgreifen auf das Standardgebietsschema ("C").

Wie behebe ich das?

xain
quelle
Was ist passiert, als Sie die Gebietsschemaeinstellungen überprüft haben, wie in der Fehlermeldung angegeben?
Brian D Foy
3
Anstatt das Gebietsschema zu installieren, können Sie auch das Gebietsschema ändern. Auf meiner Ubuntu-Box wird dies für einen Benutzer durch Bearbeiten erledigt~/.pam_environment
Janus Troelsen
Auf meinem ODROID-C1 unter Ubuntu war das Problem tatsächlich die Datei ~ / .pam_environment. Einige der Variablen waren es_US.UTF-8 anstelle von en_US.UTF-8. Vielen Dank.
Fünfundzwanzig
Ich habe das auf Cygwin \ Babun. Nur eine Neuinstallation von Perl hat das Problem behoben.
Lucas Soares

Antworten:

449

Ihr Betriebssystem weiß nichts darüber en_US.UTF-8.

Sie haben keine bestimmte Plattform erwähnt, aber ich kann Ihr Problem reproduzieren:

% uname -a
OSF1 hunter2 V5.1 2650 alpha
% perl -e exit
Perl: Warnung: Das Einstellen des Gebietsschemas ist fehlgeschlagen.
Perl: Warnung: Bitte überprüfen Sie Ihre Gebietsschemaeinstellungen:
    LC_ALL = (nicht gesetzt),
    LANG = "en_US.UTF-8"
    werden auf Ihrem System unterstützt und installiert.
Perl: Warnung: Zurückgreifen auf das Standardgebietsschema ("C").

Ich vermute, Sie haben ssh verwendet, um von einem neueren Desktop-Computer aus eine Verbindung zu diesem älteren Host herzustellen. Es ist üblich, /etc/ssh/sshd_configzu enthalten

AcceptEnv LANG LC_*

Dadurch können Clients die Werte dieser Umgebungsvariablen in neue Sitzungen übertragen.

Die Warnung gibt Ihnen einen Hinweis, wie Sie sie unterdrücken können, wenn Sie nicht das vollständige Gebietsschema benötigen:

% env LANG = C perl -e exit
%.

oder mit Bash:

$ LANG = C perl -e exit
$ 

Wählen Sie für eine dauerhafte Korrektur eine der Optionen

  1. Legen Sie auf dem älteren Host die LANGUmgebungsvariable in der Initialisierungsdatei Ihrer Shell fest.
  2. Ändern Sie Ihre Umgebung auf der Clientseite, z. B. anstatt ssh hunter2den Befehl zu verwenden LANG=C ssh hunter2.
  3. Wenn Sie Administratorrechte haben, verhindern Sie, dass ssh die Umgebungsvariablen sendet, indem Sie die SendEnv LANG LC_*Zeile in der lokalen /etc/ssh/ssh_config Datei auskommentieren. (Dank dieser Antwort . Weitere Informationen finden Sie in Bug 1285 für OpenSSH.)
Greg Bacon
quelle
22
Vielen Dank! Ich hatte diese Fehlermeldung beim Herstellen einer Verbindung mit Git zu meinem Server. Nach dem Hinzufügen von de_CH.UTF-8 (wurde dort nicht unterstützt, aber lokal verwendet) ist dpkg-reconfigure localesdie Nachricht verschwunden.
Simon A. Eugster
82
Ich hatte dieses Problem seit Ewigkeiten, ... das Entfernen von "AcceptEnv LANG LC_ *" aus sshd_config löste es schließlich. Danke für den Tipp!
Madc
2
@ Greg Bacon, würde es nicht auch Fälle geben, in denen Sie die Umgebungsvariablen systemweit festlegen möchten, beispielsweise durch Erstellen einer / etc / environment-Datei? help.ubuntu.com/community/…
Fraxture
25
@HermannIngjaldsson, zumindest unter Ubuntu (12.10), musste der Server nicht neu gestartet werden (nach dem Entfernen von "AcceptEnv LANG LC_ *"). Ich habe gerade ssh config: neu geladen service ssh reload, was einen Bruchteil einer Sekunde dauert und nicht einmal dazu führt, dass die aktuelle ssh-Sitzung beendet wird.
Noamtm
3
füge 'export LC_ALL = C' hinzu und dann 'source ~ / .bashrc' auf dem Client-System, um das Problem zu lösen.
EffectiveMatrix
476

So lösen Sie es unter Mac OS Lion (10.7) oder Cygwin (Windows 10):

Fügen Sie Ihrem bashrc oder bash_profile auf dem Hostcomputer die folgenden Zeilen hinzu:

# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Wenn Sie zsh verwenden, bearbeiten Sie zshrc:

# Setting for the new UTF-8 terminal support in Lion
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Allen Bargi
quelle
6
Vielen Dank, ich habe lange nach einer Lösung für dieses Problem gesucht, und ich dachte immer, dass es ein Problem in meiner Ubuntu-Serverkonfiguration ist, und es schien, dass es keine Lösung gab, die half (all das dkpg-rekonfigurierende Zeug (
Teemu Kurppa)
5
Da LC_ALLalle anderen Variablen überschrieben werden, möchte ich lieber LANG=de_AT.UTF-8einzelne Variablen wie setzen LC_MESSAGES=en_US.UTF-8. Wenn eine Variable nicht gesetzt ist, wird auf zurückgegriffen LANG. Sie können auch z. unset LC_CTYPEum es zu erzwingen, fallen zurück auf LANG.
David
4
Das Platzieren dieser Zeilen in .bashrc hat nicht funktioniert, aber bash_profile hat es gelöst! Ich musste die Datei erstellen.
Hermann Ingjaldsson
5
Das Einfügen dieser Zeilen hat ~/.bashrces für mich gelöst ... dann muss neu geladen werden mit source ~/.bashrc... Thnks <3
Enissay
5
Vielen Dank, dies hat unter ZSH und dem oh-my-zsh-Plugin unter Mac OS X El Capitan am Ende von ~ / .zshrc gut funktioniert: LC_CTYPE = en_US.UTF-8 LC_ALL = en_US.UTF-8
Valerio Schiavoni
207

Wenn Sie ein Rootfs mit Debootstrap erstellen, müssen Sie die Gebietsschemas generieren. Sie können dies tun, indem Sie Folgendes ausführen:

# (optional) enable missing locales
sudo nano /etc/locale.gen

# then regenerate
sudo locale-gen

Dieser Tipp stammt von https://help.ubuntu.com/community/Xen

Marc
quelle
28
Dies ist die wahre Lösung für mich.
Afriza N. Arief
6
locale-gen akzeptiert keine Argumente (zumindest in Debian Stable). Bearbeiten Sie stattdessen /etc/locale.gen, um die gewünschten Gebietsschemas zu entfernen, und führen Sie dann sudo locale-gen
Sam Watkins
2
behoben amUbuntu Server
Paschalis
5
Unter Debian müssen Sie dies möglicherweise $ echo en_US UTF-8 >> /etc/locale.genzuerst tun .
Akhmed
1
Auf Gentoo (zumindest), locale-gennimmt keine Argumente. Es liest aus /etc/locale.gen.
Pistos
142

Verwenden:

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

Es funktioniert für Debian . Ich weiß nicht warum - aber locale-gen hatte keine Ergebnisse.

Wichtig! Es ist eine vorübergehende Lösung. Es muss für jede Sitzung ausgeführt werden.

artemn
quelle
13
Dieser hat für mich gearbeitet. Ich habe es einfach in meine .bashrcAkte aufgenommen.
Anirudh Ramanathan
2
Hat auch für mich gearbeitet. Ich musste nur die beiden Einstellungen (LANGUAGE und LC_ALL) festlegen, die in den Perl-Warnungen nicht festgelegt waren
Laurent
2
Unter Debian werden local-gennur Gebietsschemas verarbeitet, die nicht kommentiert sind /etc/local.gen. Möglicherweise müssen Sie echo en_US UTF-8 >> /etc/locale.genzuerst tun .
Akhmed
Dies funktionierte für mich auf Elementary OS Freaya (Ubuntu-basiert)
valkirilov
1
LC_ C TYP kann sein?
Mixel
139

Dies bedeutet im Allgemeinen, dass Sie die Gebietsschemas auf Ihrer Linux-Box nicht ordnungsgemäß eingerichtet haben.

Unter Debian oder Ubuntu bedeutet dies, dass Sie dies tun müssen

$ sudo locale-gen
$ sudo dpkg-locales neu konfigurieren

Siehe auch man locale-gen .

Paul Tomblin
quelle
30
behebt das Problem hier nicht
Somatik
6
dpkg-Rekonfigurieren Gebietsschemas - behoben das Problem für mich, Debian 7.1
newUserNameHere
4
dpkg-recfigure locales schlägt selbst mit den gleichen Perl-Gebietsschema-Fehlermeldungen fehl, die man überhaupt zu beheben versucht !!!!
Matto
10
Dies funktionierte für mich in Ubuntu 14.04, obwohl ich das fehlende Gebietsschema zuerst mitsudo locale-gen es_UY.UTF-8
alf
2
@matteo Nur das erste Mal, bevor es den Fehler behebt. Versuchen Sie es erneut, und es sollte behoben sein.
Zero3
92

Nur für Benutzer von macOS und Mac OS X.

Ich habe die gleiche Warnung erhalten, als ich Git verwendet habe

So beheben Sie diese Warnung Deaktivieren Sie die Set locale environment variable on startupOption und starten Sie Ihr Terminal neu. Der folgende Screenshot zeigt meine Terminaleinstellungen.

Geben Sie hier die Bildbeschreibung ein

Inder Kumar Rathore
quelle
3
Wow, so einfach und meine Probleme behoben! Vielen Dank!
Michal
3
Ich habe alle anderen ausprobiert, aber dieser hat es für mich getan. Ich benutze iTerm und es hat die gleiche Zeichencodierungsoption.
Michael Morrison
2
Leider bricht dies ZSH (Tabbing funktioniert nicht mehr)
Christian
1
Dies ist der Trick für Mac OS. Das passiert mir übrigens gleich nach dem Upgrade auf macOS Sierra. Und das hat dieses Problem für mich behoben.
Paulo Malvar
1
Dies hat mein Problem behoben. Es begann mir zu passieren, nachdem ich von Sierra auf Mac OS X High Sierra aktualisiert hatte.
Lucian Irimie
36

Es ist eine einfache Lösung in Ubuntu. Sie müssen die Gebietsschemas von Grund auf neu generieren und die folgenden Befehle über die Befehlszeile ausführen:

sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales

Dadurch sollten die Gebietsschemas erstellt und anschließend neu konfiguriert werden.

jfreak53
quelle
Das hat auch mit mir gut funktioniert pt_BR pt_BR.UTF-8- Danke.
Marcos Freitas
29

Fügen Sie Folgendes hinzu, um /etc/environmentdas Problem für mich unter Debian und Ubuntu zu beheben (ändern Sie es natürlich, um es an das Gebietsschema anzupassen, das Sie verwenden möchten):

LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
joscarsson
quelle
7
Ich habe eine Warnung erhalten, dass das Festlegen des Gebietsschemas in /etc/environmentveraltet ist und stattdessen festgelegt werden sollte /etc/default/locale. Beides scheint vorerst zu funktionieren.
Joscarsson
sollte seinLC_CTYPE
aexl
25

Ich benutze jetzt Folgendes:

$ cat /etc/environment
...
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

Melden Sie sich dann von der SSH-Sitzung ab und erneut an.

Alte Antwort:

Nur das hat mir geholfen:

$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=

$ sudo su

# export LANGUAGE=en_US.UTF-8
# export LANG=en_US.UTF-8
# export LC_ALL=en_US.UTF-8

# locale-gen en_US.UTF-8
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

# dpkg-reconfigure locales
Generating locales...
  en_AG.UTF-8... done
  en_AU.UTF-8... done
  en_BW.UTF-8... done
  en_CA.UTF-8... done
  en_DK.UTF-8... done
  en_GB.UTF-8... done
  en_HK.UTF-8... done
  en_IE.UTF-8... done
  en_IN.UTF-8... done
  en_NG.UTF-8... done
  en_NZ.UTF-8... done
  en_PH.UTF-8... done
  en_SG.UTF-8... done
  en_US.UTF-8... up-to-date
  en_ZA.UTF-8... done
  en_ZM.UTF-8... done
  en_ZW.UTF-8... done
Generation complete.

# exit

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
warvariuc
quelle
Unter Ubuntu 15.04 hat das gut funktioniert, vielen Dank.
Goke Obasa
22

auf Debian nach langem Suchen hat dies den Trick getan.

zuerst:

sudo apt-get purge locales

dann:

sudo aptitude install locales

und die berühmten:

sudo dpkg-reconfigure locales

Dadurch wird das System der Gebietsschemas entfernt, dann werden die Gebietsschemas neu installiert und libc6 von 2.19 auf 2.13 herabgestuft, was das Problem ist. Konfiguriert dann die Gebietsschemas erneut.

tkjef
quelle
4
dpkg-reconfigure localesist alles was benötigt wird. sudoWenn Sie ein Sudo-Typ sind, oder tun Sie es als root. Wählen Sie dann Ihr Gebietsschema entsprechend Ihrer Shell-Umgebung aus.
Mknaf
6
dpkg-Rekonfigurieren von Gebietsschemas SOLLTE alles sein, was benötigt wird. Nachdem Sie das 100 Mal versucht und sich im Internet umgesehen haben und das ist alles, was Sie gesehen haben und das Problem sich immer noch nicht von selbst lösen lässt, versuchen Sie es oben. Dann komm zurück und stimme dem zu. :)
tkjef
1
Endlich eine Non-Hack-Antwort auf dieses Problem, sollte definitiv die akzeptierte sein!
php_nub_qq
17

Dies ist eine schnelle Antwort. Wir werden Gebietsschemas festlegen, die nach dem Neustart nicht deaktiviert werden. Öffnen Sie zuerst die Bash-Datei und bearbeiten Sie sie:

nano .bashrc

Fügen Sie der Datei folgende Zeilen hinzu:

export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"

Aktivierung durch erneutes Laden von Bash aktivieren:

source ~/.bashrc

Testergebnisse :

locale
Alouani Younes
quelle
Der einzige, der für mich funktioniert, Raspbian und Ubuntu Server 16.04 :)
Liso
13

Für Ubuntu verwenden Sie dies,

#export LANGUAGE=en_US.UTF-8
#export LC_ALL=en_US.UTF-8
#export LANG=en_US.UTF-8
#export LC_TYPE=en_US.UTF-8

Hat für mich gearbeitet.

Amjith
quelle
Es hat auch bei mir funktioniert, indem alle Inhalte in der Datei entfernt wurden /etc/default/locale und nur die Definition der
Edenshaw
12

Wenn Sie Mac OS X 10.10 (Yosemite) oder höher verwenden, um eine Verbindung in Ihrem Server Linux herzustellen , können Sie diese Schritte ausführen .

  1. Behalten Sie Ihre Datei / etc / ssh / sshd-config original

  2. Legen Sie Ihr ~ / .bash_profile an

    export LANG="en_US"
    export LC_ALL=$LANG.UTF-8
  3. Lauf

    dpkg-reconfigure locales

    Und wählen Sie "en_US.UTF-8"

dsandrade
quelle
10
sudo nano /etc/locale.gen

Kommentieren Sie die Gebietsschemas aus, die Sie verwenden möchten (z en_US.UTF-8 UTF-8 ):

Dann renne:

sudo /usr/sbin/locale-gen

Quelle: http://people.debian.org/~schultmc/locales.html

Thomas Jensen
quelle
Das Unternehmen, für das ich in den USA arbeite, hostet einen Git-Server mit internationalen Kunden. Die GB-Menge beschwerte sich, dass ihre Git-Klone über ssh aufgrund von Gebietsschemaunterschieden Probleme haben würden. Dies, das auf dem Server angewendet wurde, hat dieses Problem für sie behoben.
Therealstubot
10

Sie müssen das Gebietsschema entsprechend konfigurieren /etc/default/locale, sich abmelden, anmelden und dann die regulären Befehle ausführen

root@host:~# echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale
root@host:~# exit
local-user@local:~$ ssh root@host
root@host:~# locale-gen en_US.UTF-8
root@host:~# dpkg-reconfigure locales
Glarrain
quelle
4
Diese Schritte haben bei mir funktioniert (Ubuntu Server 14.04). Der Hauptpunkt war, sich abzumelden und erneut anzumelden.
Liberborn
9
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory

Lösung:

Versuchen Sie dies ( uk_UA.UTF-8 ist mein aktuelles Gebietsschema. Schreiben Sie Ihr Gebietsschema, zum Beispiel en_US.UTF-8 !)

sudo locale-gen uk_UA.UTF-8

und das.

sudo dpkg-reconfigure locales
bogdanvlviv
quelle
Vielen Dank, dass dies mein Problem gelöst hat, nachdem Sie dies getan und neu installiert haben.
Madprops
8

Für mich behebe ich diesen Fehler beim Bearbeiten der .bashrc-Datei add export. Nach ersten Kommentaren hinzufügen.

Sprachunterstützung hinzufügen.

export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_TYPE=en_US.UTF-8

Freundliche Regads,

LandiLeite
quelle
6

Das Hinzufügen der richtigen Gebietsschema ~/.bashrc, ~/.bash_profile,/etc/environment und dergleichen wird das Problem lösen, aber es wird nicht empfohlen, da es die Einstellungen außer Kraft /etc/default/locale, die bestenfalls verwirrend und kann zu den Schauplätzen führt nicht konsequent im schlimmsten Fall angewandt werden.

Stattdessen sollte man /etc/default/localedirekt bearbeiten , was ungefähr so ​​aussehen könnte:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US

Die Änderung wird beim nächsten Anmelden wirksam. Sie können das neue Gebietsschema in einer vorhandenen Shell abrufen, indem Sie Folgendes beschaffen /etc/default/locale:

$ . /etc/default/locale
Nuvanda
quelle
1
Nach diesem Schritt muss das System neu
gestartet werden
Sie können einfach das gewünschte Gebietsschema in "/etc/locale.gen" kommentieren und dann Folgendes ausführen:locale-gen
Dave Everitt
5

Für alle, die über iTerm2.app unter MacOS High Sierra eine Verbindung zu DigitalOcean oder einem anderen Cloud-Hosting-Anbieter herstellen und diesen Fehler bei einigen Befehlen erhalten:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "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").

Dies hat das Problem für mich behoben:

Geben Sie hier die Bildbeschreibung ein

Ich weiß, dass dieser Thread alt ist, aber vielleicht findet jemand dies nützlich. Ich weiß, wie nervig das sein kann.

Blago Eres
quelle
Ja, war diese Einstellung in iterm2! Vielen Dank!
Brian Olsen
4

Nach der akzeptierten Antwort:

LANG = C ssh hunter2.

LC_ALL = C ssh hunter2

auf der Client-Seite hat den Trick für mich getan.

Alex Kosenkov
quelle
Arbeitete für mich unter OSX 10.10.3, während nur "LANG = C" nicht ausreichte. Danke Alex!
Christian
4

Mit zsh ohmyzsh habe ich folgendes hinzugefügt .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 Linie export LANG=en_US.UTF-8

Öffnete einen neuen Tab und SSHed in, arbeitete für mich :)

Joseph Briggs
quelle
3

In LC_ALL="en_GB.utf8"zu /etc/environmentund neu starten. Das ist alles.

zires
quelle
2

Wie immer steckt der Teufel im Detail ...

Unter Mac OS X 10.7.5 (Lion) habe ich Folgendes festgelegt , um einen Django- Fehler zu beheben ~/.bash_profile:

export LANG=en_EN.UTF-8
export LC_COLLATE=$LANG
export LC_CTYPE=$LANG
export LC_MESSAGES=$LANG
export LC_MONETARY=$LANG
export LC_NUMERIC=$LANG
export LC_TIME=$LANG
export LC_ALL=$LANG

Und im Gegenzug bekam ich diese Warnung lange Zeit, wenn ich Perl verwendete.

Mein Fehler! Wie ich viel später festgestellt habe, ist mein System en_US.UTF-8! Ich habe es einfach durch einen Wechsel von behoben

export LANG=en_EN.UTF-8

zu

export LANG=en_US.UTF-8
Luca Bonavita
quelle
2

Wenn Sie sich nicht für das Gebietsschema interessieren, können Sie festlegenPERL_BADLANG=0 . Dies kann natürlich zu einer falschen Lokalisierung führen.

Craig Ringer
quelle
2

Alle vorherigen Antworten sind falsch. Die Nachricht ist klar - Gebietsschema fehlt. Die Lösung besteht darin, das entsprechende Gebietsschema hinzuzufügen. Sie bearbeiten dazu die Datei /etc/locale.gen, entfernen das # -Zeichen vor dem Gebietsschema, das als fehlend gemeldet wird, und geben dann den folgenden Befehl aus:

$ sudo locale-gen

Dadurch werden tatsächlich die in /etc/locale.gen angegebenen Gebietsschemas generiert, und daher wird die Nachricht nicht angezeigt.

Matthias Hryniszak
quelle
Dies ist einfach die Antwort und hat für mich am alten Debian (6) gearbeitet. Der Rest ist zu kompliziert und etwas aus der Bahn geraten.
Dave Everitt
2

In meinem Fall musste ich mit debian8.6 die Einstellungen ändern in:

/etc/ssh/ssh_config zum #AcceptEnv LANG LC_*

und sshd_configfür#SendEnv LANG LC_*

Starten Sie dann den SSH-Dienst neu.

endlich tat

locale-gen en_US.UTF-8 und dpkg-reconfigure locales

Java Newbees
quelle
2

Fügen Sie fehlende Gebietsschemas zu .bash_profile hinzu

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

Dann geben Sie Ihr .bash_profile ein

source ~/.bash_profile
Parinda Rajapaksha
quelle
1

In meinem Fall war dies die Ausgabe:

LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "ro_RO.UTF-8",
LC_ADDRESS = "ro_RO.UTF-8",
....

Die Lösung war:

sudo locale-gen ro_RO.UTF-8
Rodislav Moldovan
quelle
1

sshÜberschreibt standardmäßig LC-Gebietsschemavariablen. Siehe /etc/ssh/sshd_config:

AcceptEnv LANG LC_*

Vielleicht müssen Sie diese Variablen in Ihrer lokalen Shell festlegen.

Garaboncias
quelle
1

Unter Ubuntu 16.04 (Xenial Xerus) hat für mich Folgendes funktioniert:

root@host:~#locale-gen en_GB.UTF-8
root@host:~#localectl set-locale LANG=en_GB.UTF-8,LC_ALL=en_GB.UTF-8

Dann neu starten ...

Aleksandar Pavić
quelle