Yerel ayarları belirleyemiyor; $ LC_ * ve $ LANG'ın doğru olduğundan emin olun!


49

Her zaman yeni paket yüklemeye çalıştığımda şu mesajı alıyorum:

Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "en_GB.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_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

İşletim sistemim Fransızca klavyeyle İngilizce kullanan Debian Jessie 8.3 (Mate). Yerel ayar yazarken şunu alıyorum:

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
LANG=en_US.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE=en_GB.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=

Yanıtlar:


62

Debian yerel ayarları kaynak biçimde gönderir. Açıkça derlenmeleri gerekiyor. Bunun nedeni, derlenen yerel ayarların çok daha fazla disk alanı kullanmasıdır, ancak çoğu kişi yalnızca birkaç tanesini kullanır.

dpkg-reconfigure localesRoot olarak çalıştır , listeden istediğin bölgeleri seç (ayarlarınla, ihtiyacın var en_GBve en_US.UTF-8- en_USve ile seçim yapmanı tavsiye ederim en_GB.UTF-8) sonra tuşuna basın <OK>.

Alternatif olarak, düzenleyin /etc/locale.gen, istediğiniz yerel ayarların satırlarını kaldırın ve locale-genkök olarak çalıştırın .

(Not: Ubuntu'da bu farklı şekilde çalışır: locale-genörneğin argüman olarak oluşturmak istediğiniz yerel ayarlarla çalıştırın sudo locale-gen en_GB en_US en_GB.UTF-8 en_US.UTF-8.)

Alternatif olarak, Debian artık locales-allbunun yerine yükleyebileceğiniz bir pakete sahip locales. Önceden oluşturulan tüm yerel ayarlara sahiptir. Dezavantajı ise daha fazla disk alanı kullanmalarıdır (112MB vs 16MB).


1
İşe yaradı, ancak yalnızca ben çıkıp tekrar giriş yaptıktan sonra.
Forivin

Benim için de çalıştım!
Jamie Ivanov

düzenleme /etc/locale.gendoes't (çıkış / giriş yaptı) benim için bir iş yaptı, ama locale-genbenim çözüldü tmux: need UTF-8 locale (LC_CTYPE)sorunuDebian 4.9.82
EAPO

2
@eapo Cevabımı belirttiğim gibi, düzenlemeniz /etc/locale.gen ve sonra çalıştırmanız gerekir locale-gen.
Gilles 'SO- kötülük'

en_US.UTF-8Kendi yerel ayarlarınızı da etkinleştirmeyi çok özledim . Zor yoldan öğrendim ve daha sonra burada olduğunu fark etmeden önce kendi cevabımı vermek için buraya döndüm.
Alastair McCormack

19

En yüksek puanlı çözüm benim durumumda yardımcı olmadı, bu yüzden bunu kullandım:

export LC_ALL="en_US.UTF-8"
sudo dpkg-reconfigure locales

Ondan sonra çıkış yaptım ve giriş yaptım ve hata eksikti.


2
LC_ALL kullanmak, her şeyi geçersiz kıldığı için kesinlikle önerilmez. Lütfen yalnızca test ederken kullanın ve hiçbir zaman bir başlangıç ​​dosyasına ayarlamayın. başına: wiki.debian.org/Locale
Pitone Maledetto

6

Bu komutlar hayatımı kurtardı

# echo "LC_ALL=en_US.UTF-8" >> /etc/environment
# echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
# echo "LANG=en_US.UTF-8" > /etc/locale.conf
# locale-gen en_US.UTF-8

5

Bu sorunu bir ahududu pi (veya diğer) üzerinde yaşıyorsanız ve pi'ye ssh yaparken hata alıyorsanız, 2 başka çözüm daha var.

Biri /etc/ssh/sshd_configpi üzerinde düzenleme yapmak ve satırı yorumlamaktır.

AcceptEnv LANG LC_*

Örneğin sudo nano /etc/ssh/sshd_config

Bundan sonra ssh sunucusunu yeniden başlatmalısınız.

sudo systemctl restart ssh

Diğeri istemci makinenizde ( pi değil ) düzenlemektedir /etc/ssh/ssh_config(yukarıdan farklı yol) ve satırı yorumlayınız.

SendEnv LANG LC_*

Her ikisi de benim için uncommented ama sorun hala ortaya çıkıyor. (RPi3, macOS10.14)
jorijnsmit

Yorumlananlar dışarı şimdi çizgiyi. Gerçekten test etme şansınız yok ama bu şekilde daha mantıklı geliyor ... Teşekkürler.
jorijnsmit

2

Paketi locales(veya locales-allsahip olduğunuz Debian versiyonuna bağlı olarak en_GB yerel ayarını) yüklemeniz gerekir.

Bir geçici çözüm tür hataları sahip olmamak: set LANG=Cköküne, kullanmak, böylece hiçbir yerel ayarları.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.