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.