Hogyan javíthatom a helyi problémámat?

465

Ezt az üzenetet kapom minden alkalommal, amikor valami hasonló szolgáltatást indítok vagy megállítok.

perl: warning: Setting locale failed.   
perl: warning: Please check that your locale settings:   
        LANGUAGE = "en_US:en",   
        LC_ALL = (unset),   
        LC_MESSAGES = "en_US.UTF-8",   
        LANG = "en_US.UTF-8"   
    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   
(Reading database ... 21173 files and directories currently installed.)  
Removing bind9 ...  
 * Stopping domain name service... bind9                                        [ OK ]
Processing triggers for man-db ...   
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   

Hogyan tudom kijavítani ezt a hibát?

    
készlet HackToHell 11.07.2012 16:08
forrás

19 válasz

474

Először futtassa alocale -ot, hogy felsorolja az aktuális felhasználói fiókhoz jelenleg definiált helyeket:

$ locale
LANG=C
LANGUAGE=
LC_CTYPE=fi_FI.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fi_FI.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fi_FI.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

Ezután generálja a hiányzó helységet, és újból konfigurálja a helyieket, hogy vegye észre:

$ sudo locale-gen "en_US.UTF-8"
Generating locales...
  en_US.UTF-8... done
Generation complete.

$ sudo dpkg-reconfigure locales
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

Most már nem fog több hibát látni!

    
válasz adott Otto Kekäläinen 10.12.2012 13:45
forrás
342

A fent ismertetettek semmi esetre sem működtek az én esetemben (Ubuntu Server 12.04LTS). Ami végül is segített a/etc/environment:

fájlba került
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

Valami ok miatt hiányzott. A helyi és egyéb parancsok kimenetei úgy tűntek, mintha a változók megfelelően lettek definiálva. Más szavakkal ne vegye magától értetődőnek, hogy minden alapvető dolog kijelenthető, hol kell bejelenteni.

    
válasz adott Marcin 16.12.2012 05:11
forrás
140

A kibocsátás után eltűnnek:

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

dpkg-reconfigure újrakonfigurálja a csomagokat, miután már megtörtént        telepítve. Adja át a csomagok vagy csomagok nevét az újrakonfiguráláshoz.        A konfigurációs kérdéseket felteszi, hasonlóan a csomaghoz        először telepítve.

    
válasz adott Rinzwind 11.07.2012 16:19
forrás
108

Csak adja hozzá a.bashrc fájlhoz (feltételezve, hogy bash-t használ)

export LC_ALL="en_US.UTF-8"
    
válasz adott ratz 08.11.2012 10:42
forrás
88

Ez egy gyakori probléma, ha távolról csatlakozik, ezért a megoldás az, hogy ne továbbítsa a helyi adatait. Szerkessze/etc/ssh/ssh_config -ot és írja ki aSendEnv LANG LC_* line sort.

    
válasz adott user249697 01.10.2014 02:45
forrás
64

Van parancs erre:

sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

Frissíti/etc/default/locale értékekkel.

    
válasz adott sgtpep 01.08.2014 13:51
forrás
30

A 12.10-kor dolgozott nekem:

apt-get install language-pack-en-base  

Ez adpkg-reconfigure locales után nem hozott eredményt.

    
válasz adott George Answerology 28.04.2013 04:01
forrás
16

Ne felejtse el kilépni az SSH munkamenetből (vagy az X11-ből) kilépve és újra bejelentkezve. Mindezek a javaslatok nem működtek számomra, hacsak nem jelentkeztem vissza ....

    
válasz adott Michael R. Hines 26.09.2014 08:51
forrás
11

Ubuntu 12.10 esetében a fentiek egyike sem működött, kivéve a ratzs "megoldást. Azt javaslom, hogy hozzáadja ezt a /etc/bash.bashrc fájlhoz:

export LC_ALL="en_ZA.UTF-8"
export LC_CTYPE="en_ZA.UTF-8"
    
válasz adott Lovemore Nalube 27.03.2013 04:19
forrás
11

Olyan furcsa állapotban ragadtam meg, ahol a helyi gépemes -ra van állítva, így a távoli gép (vagrant) keresztül egy nem kezelt állapotban lett ellátva. Ezért aexport= csak a sikeresdpkg-reconfigure sikeres használatához kellett használnom. Ezután a rendszer rendben van.

export LC_ALL="en_US.UTF-8"
sudo dpkg-reconfigure locales
    
válasz adott charneykaye 22.03.2016 19:02
forrás
9

Írtam egy bash scriptet , hogy javítson A fenti válaszok hasznosak, de a helyi változók beállítása egyszerűen exportálva a shell változóban csak egy munkamenet esetén fog működni. Végül megoldottam ezt a problémát a területi változók exportálásával a .bash_profile fájlban. Használhat/etc/profile fájlt a.bash_profile helyett.

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

Ne felejtsd elsource a.bash_profile -ot, és kövesse a szkript könnyű beállításban.

    
válasz adott Ajeet Khan 27.02.2016 20:26
forrás
8

Megpróbálhatja:

export LANGUAGE=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_NUMERIC=ru_RU.UTF-8
export LC_TIME=ru_RU.UTF-8
export LC_COLLATE=ru_RU.UTF-8
export LC_MONETARY=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8
export LC_PAPER=ru_RU.UTF-8
export LC_NAME=ru_RU.UTF-8
export LC_ADDRESS=ru_RU.UTF-8
export LC_TELEPHONE=ru_RU.UTF-8
export LC_MEASUREMENT=ru_RU.UTF-8
export LC_IDENTIFICATION=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

ahol aru_RU az Ön országkódja.

    
válasz adott Koss 17.06.2013 15:34
forrás
6

Amint azt itt a Debian Wiki , akkor szerkesztheted a/etc/locale.gen -ot, és hozzáadhatod az összes helyet (vagy megszüntetheted őket, Az összes helyi listát felsoroltam, de minden, kivéve azokat, amelyeket észrevételekként használtam), hogy támogatni szeretné a rendszeredet. Ezután hajtsa végre

sudo dpkg-reconfigure locales

a rendszer helyi elemeinek frissítése. Mostantól a/etc/locale.gen -ban hozzáadott / elhagyatlan helyek minden figyelmeztetés nélkül elérhetők a rendszeren.

    
válasz adott msrd0 14.12.2014 12:28
forrás
6

A jelenleg elfogadott válasz nem elegendő a hibaelhárítási stratégiában, mert emberi hiba lehet. A rendszerten_US -ra állítja be, deen_GB engedélyezve van a (z)/etc/locale.gen -ban, mint a téma a itt a> a Raspberry Pi 3b számára. A (z)/etc/locale.gen -ban engedélyezett összes használt helyszínt engedélyeznie kell.

en_GB.UTF-8 UTF-8 csak a/etc/locale.gen -ban engedélyezve volt. Csak akkor kellene engedélyezni aen_US.UTF-8 UTF-8 -ot, mert más parancsok futnak. Így kommentáltam a GB-t és a megjegyzés nélküli amerikaiakat, és mindent most működnek

masi@raspberrypi:~ $ sudo vim /etc/locale.gen

masi@raspberrypi:~ $ sudo locale-gen 
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

masi@raspberrypi:~ $ sudo a2enmod rewrite && a2enmod headers && a2enmod ssl
Module rewrite already enabled
Module headers already enabled
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled

Most nem kapom meg azokat a helyszíni hibákat semmilyen paranccsal.

Rendszer: Raspbian Jessie
Hardver: Málna Pi 3b

    
válasz adott Léo Léopold Hertz 준영 22.06.2016 22:25
forrás
3

Ha KDE környezetet használ, ellenőrizze asetlocale.sh fájlt a (z)~/.kde/env/:

$ cat ~/.kde/env/setlocale.sh 
export LANG=en_US.UTF-8
export LANGUAGE=en_US:ru:en
    
válasz adott MaximKostrikin 05.02.2014 09:36
forrás
2
  1. Lehet, hogy futtatni kell asudo dpkg-reconfigure -ot is a telepített alkalmazáshoz, amíg a "locale" beállítások érvénytelenek / nem egyeznek.

    A rendszer helyszíne helytelen beállítása mellettvim -ot telepítettem. Később, amikor a rendszer helyszíne rögzült, láttam egy olyan helyzetet, hogyvim az utf-8 karaktereket helytelenül ábrázolta furcsa szimbólumokként, míg anano és aless helyesen mutatta azokat. Futás

    sudo dpkg-reconfigure vim
    

    úgy tűnt, hogy javítja a problémát a rendszerbeállítások rögzítése után.

  2. Ugyanazt a dolgot vettem észre, mint amilyen már említettem: Lehet, hogy le kell kapcsolódnia az SSH-ról, és a változtatásokat láthatóvá kell tenni.

válasz adott ajaaskel 18.12.2014 20:02
forrás
2

A következő szöveg hozzáadásával a (z)~/.profile számra működik:

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

Ubuntu 16.04 LTS 64 bites szervert használok a Linode-on.

    
válasz adott Jingguo Yao 09.05.2017 05:07
forrás
1

Ez akkor működött számomra, amikor ugyanaz volt a probléma (a megoldás alapján által biztosított dman ):

sudo sh -c "echo -e 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
    
válasz adott pythonhunter 27.08.2014 07:21
forrás
1

Hiba történt az "Agnoster" témában aoh-my-zsh -ban adocker ized munkaállomáson hasonló hibaüzenetekkel. (Gyorsabb, mint awsl IMO, és a docking.socket beilleszthetem a tartályba aHyper-V VM által kezeltDocker For Windows segítségével, amely lehetővé teszi a docker stuff használatát)

A válaszok egyes javaslatainak egyesítése segítette nekem.

Hozzáadtam ezt aDockerfile -hoz

RUN apt-get install -y locales
RUN sudo locale-gen "en_US.UTF-8"
RUN echo 'LANG="en_US.UTF-8"' > /etc/profile.d/locale.sh
RUN echo 'LANGUAGE="en_US.UTF-8"' >> /etc/profile.d/locale.sh
RUN echo 'LC_ALL="en_US.UTF-8"' >> /etc/profile.d/locale.sh

Itt van egy dolog, ha próbálkozni akarsz.

    
válasz adott sdkks 30.06.2018 16:25
forrás