Yerel ayarlar doğru değil. Onları nasıl sıfırlayabilirim?


43

Yerel bir sorunum var. Ve diğer programlardaki
harmanlama sırası nautilusdeğişti.
Bir GUI uygulaması başlattığımda terminalde yerel hatalar çıkıyor.

    Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

localeKomut hata mesajları üretir

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

Askubuntu sorusunda önerildiği gibi , aşağıdaki komutları çalıştırdım, ancak değişiklik olmadı.

    sudo apt-get install language-pack-en-base
    sudo dpkg-reconfigure locales

Ayrıca askubuntu sorusundaki öneriyi de denedim ... aynı zamanda hiçbir değişiklik olmadı.

    apt-get install --reinstall locales

Ben düşünüyorum ben geçici olarak yüklendiğinde başladı ve üzeri Urduca dil Giriş Yöntemi Düzenleyicisi kaldırıldı IBuskesinlikle aynı gün oldu ...

Belki IBus'la ilgilidir, ancak bundan önce onunla herhangi bir sorun yaşamadım.

  • İşletim sistemi 10.04

Yanıtlar:


27

"Normalde" çalışan şeyleri tekrar çalıştırmayı başardım.

IBus'un tamamen kaldırılması (tümü etkisiz) de dahil olmak üzere çok sayıda paketi yeniden yüklemeyi vs. denedikten sonra, yeniden yüklemenin değişmeyen bir yapılandırma ayarından kaynaklanabileceğini düşünmeye başladım.

Ben çıktısı fark etmişti localeben son yüklenen VM bu kontrol yüzden ... UTF-8 atamaları, oldukça yoksundu (geçersiz kılar LC_ALL hariç LC_ * tüm girişler tüm diğerlerini) ile ayarlanan .UTF-8son eki. bu yüzden LC_ * değerlerini aşağıda gösterildiği gibi manuel olarak ayarladım.

Muhtemelen yeni kullanmış olabilirdim LC_ALL="en_AU.UTF-8", ancak bu konuyu okurken, sistem tarih ve saat biçimini nasıl özelleştireceğimi keşfettim ve LC_ALLözel ayarımı geçersiz kılacağım.

En uygun yöntemi kullanıp kullanmadığımı bilmiyorum ama işe yarıyor!

Değiştirilen dosya: /etc/default/locale

  • Bu mod öncesi içeriği gösterir:

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_MESSAGES="en_AU.UTF-8"
    
  • Bu moddan sonra içeriği gösterir :

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_CTYPE="en_AU.UTF-8"
    LC_NUMERIC="en_AU.UTF-8"
    LC_TIME="en_AU.UTF-8"
    LC_COLLATE=en_AU.UTF-8
    LC_MONETARY="en_AU.UTF-8"
    LC_MESSAGES=en_AU.UTF-8
    LC_PAPER="en_AU.UTF-8"
    LC_NAME="en_AU.UTF-8"
    LC_ADDRESS="en_AU.UTF-8"
    LC_TELEPHONE="en_AU.UTF-8"
    LC_MEASUREMENT="en_AU.UTF-8"
    LC_IDENTIFICATION="en_AU.UTF-8"
    

VM'deki aynı dosya yalnızca bu satırı içeriyordu:

    LANG="en_AU.UTF-8" 


gönderiniz için teşekkürler. Kayıt için, düzeltmenin çalışması için sistemimi yeniden başlatmam gerekti. (belki de emacs eval-buffer kullanılmış olabilir?)
David LeBauer

19

Yerel ayarları yeniden tanımlama ve yeniden yapılandırma, sorunu çözmek için yeterli olabilir:

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

Eğer çalıştırdığınızda sudo dpkg-reconfigure localessize tıklayarak istediğiniz yerel seçebilir spacebarve birlikte hareket eden ve isabet önce Enter.


Belki boşluk çubuğuyla istediğiniz dilleri seçtiğinizden bahsetmeye değer.
Daniel Kmak

@Daniel Anlamıyorum: boşluk tuşu?
Guillaume Vincent

1
Çalıştırırken dpkg-reconfigureonay kutularını içeren bir liste alırsınız ve dil seçmek için boşluk çubuğunu kullanmanız gerekir. Konsol programında böyle bir bilgi yok, bu yüzden cevap altında yazmaya yardımcı olacağını düşündüm. Bu dilleri nasıl seçeceğimi bilemedim.
Daniel Kmak

1
@Daniel :) yaptı
Guillaume Vincent

15

Bu problemle de karşılaştım, gördüğünüz gibi LC_ALL, boş. Aşağıdaki gibi yaptım ve yardımcı olur:

$ sudo vim /etc/environment

ve LC_ALLgibi bir şey için ayarlayın en_US.UTF-8, benim:

LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_ALL="en_US.UTF-8"

sonra yeniden başlat ve çalıştır locale, ve şöyle bir şey olmalı:

LANG=zh_CN.utf8
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

Bu çözüm, Ubuntu 12.04 LTS kesin olarak iyi çalışıyor
speciousfool

Ayar LC_ALLönerilmez. "LC_ALL kullanmak, her şeyi geçersiz kıldığı için kesinlikle önerilmez. Lütfen yalnızca sınama sırasında kullanın ve hiçbir zaman bir başlangıç ​​dosyasına ayarlamayın." wiki.debian.org/Locale
gertvdijk

4

Makineye ssh üzerinden uzaktan bağlıysanız (örn. Bir macosx cihazından), bu değişkenleri bağlandığınız makineye ayarlamanız gerekir.

aşağıdakini ekleyin ~ / .bash_profile

#fix for locale issues when connecting to ubuntu servers
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"

1
OS X’e bağlanırken bilinen bir hata mı bu?
MindTooth

Bu tasarım veya bir hata / hata olup olmadığını hiçbir fikrim yok
Somatik

2

Sadece eklemek istiyorum, ev profilimi de düzenlemeliydim:

gedit ~/.profile

Yani sizin durumunuzda şöyle görünürdü:

...
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"

Çıkış + Giriş Yapın. Her şey beklendiği gibi.


exportHer satırın başına ihtiyacım vardı ve içine koydum ~/.bashrc.
Sparhawk

2

Birkaç ay boyunca aynı problemi yaşadım, birçok yazılım aracı kırılmış yerel ayarlarla ilgili uyardı ve bazıları çalışmayı reddetti. İngilizceyi kullanmak istiyorum ancak İsveççe para ve sayı ayarları.

Sonunda benim için çalışan /etc/default/locale, o dosyadaki her şeyi çıkardığım yeri düzenlemek oldu . Daha sonra Unity dil ayarını başlattım, (Settings -> Language Support)her şeyi ayarladım (Ubuntu bazı eksik bileşenleri yüklemek istedi) ve "Apply System-wide"işim bittiğinde bastım.

/etc/default/localeŞimdi benim şuna benziyor.

LC_NUMERIC = "sv_SE.UTF-8"
LC_TIME = "sv_SE.UTF-8"
LC_MONETARY = "sv_SE.UTF-8"
LC_PAPER = "sv_SE.UTF-8"
LC_IDENTIFICATION = "sv_SE.UTF-8"
LC_NAME = "sv_SE.UTF-8"
LC_ADDRESS = "sv_SE.UTF-8"
LC_TELEPHONE = "sv_SE.UTF-8"
LC_MEASUREMENT = "sv_SE.UTF-8"
DİL = "tr"
DİL = "en_US.UTF-8"

Bu ve orjinal dosyam arasındaki en büyük fark şudur LANGUAGE="en".


Hayat kurtarıcım ...
John Joe

2

Bu durumun yayınlanmasından bu yana bir süre geçti ama yakın zamanda "yerel" değişkenlerle ilgili sorunlar yaşadım ve hiçbir cevap bana sonuç vermedi. Belki kendi deneyimim başkasına yardımcı olabilir.

Benim LANG değişkeni boştu ve bu bana sorun veriyordu.

$locale

Çıktı:

LANG=
LANGUAGE=en_US
LC_CTYPE=POSIX
LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_COLLATE=POSIX
LC_MONETARY=POSIX
LC_MESSAGES=POSIX
LC_PAPER=POSIX
LC_NAME=POSIX
LC_ADDRESS=POSIX
LC_TELEPHONE=POSIX
LC_MEASUREMENT=POSIX
LC_IDENTIFICATION=POSIX
LC_ALL=POSIX

Bazı komutları denedim:

sudo locale-gen
sudo dpkg-reconfigure locales

Başarı olmadan. / Etc / default / yerel ayarını düzenlemeyi denedim ve zaten uygun olduğunu anladım:

$cat /etc/default/locale

Çıktı:

LANG=en_US.UTF-8
LC_NUMERIC="es_CO.UTF-8"
LC_TIME="es_CO.UTF-8"
LC_MONETARY="es_CO.UTF-8"
LC_PAPER="es_CO.UTF-8"
LC_NAME="es_CO.UTF-8"
LC_ADDRESS="es_CO.UTF-8"
LC_TELEPHONE="es_CO.UTF-8"
LC_MEASUREMENT="es_CO.UTF-8"
LC_IDENTIFICATION="es_CO.UTF-8"

Ayrıca .pam_environment dosyam doğru görünüyordu:

$cat .pam_environment

Çıktı:

LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_NUMERIC=es_CO.UTF-8
LC_TIME=es_CO.UTF-8
LC_MONETARY=es_CO.UTF-8
LC_PAPER=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
LC_ADDRESS=es_CO.UTF-8
LC_TELEPHONE=es_CO.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_IDENTIFICATION=es_CO.UTF-8
PAPERSIZE=letter

Profile veya bash dosyalarına fazladan şeyler eklemek istemiyorum, çünkü sorunu çözebilse de nedenini bilmiyorum ve bu beni rahatsız etti.

Sonunda bir şeyin zaten "yerel" değişkenleri geçersiz kıldığını merak ettim ve bir sonraki komutu koştum:

$cat .bashrc | grep LANG

Çıktı:

unset LANG

Böylece .bashrc dosyamda iki satır buldum , bunun nedeni (bütün dosyayı yapıştırmıyorum):

unset LANG
export LC_ALL=POSIX

Bash dosyamda bu satırların ne zaman ya da ne zaman sona erdiğini bilmiyorum, ama hepsini yazmadığımdan tamamen eminim, belki .bashrc bazı web geliştirme işleri ile çalışırken değiştirildi. Bilmiyorum, ama bunun istemeden olduğunu bildiğim için ve orada “yerel” yanlış davranışa neyin sebep olduğu hakkında hiçbir fikri olmayan insanlar var, belki bu onlara yardımcı olabilir. Her neyse, bu çizgileri ve yeniden başlatmayı yorumlamak benim için sorunu çözdü. Burada , LANG değişkeni ile ilgili sublimeT3 şikayetlerine odaklanan aynı soruyu cevapladım .


1

Bir güncelleme kızarmış yerel bir şekilde görünüyor. Bulduğum düzeltme oturumu kapatıp, giriş yapmadan önce seçilen dili değiştirmek ve tekrar giriş yapmaktı.

Yerellerin sinaptik olarak yeniden kurulmasına da yardımcı olabilir, ancak bunun benim için düzeldiğini doğrulayamıyorum, ancak oturumu kapattığını veya başka bir şey olduğunu düşünüyorum.


Tekrar giriş yapın ve dili değiştirin. Oturum açarken dili değiştirmenin gerçek bir yolunu görmüyorum. Dili değiştirmeyi söyleyen metni görüyorum, ancak seçeneğim yok (düğmeler veya benzeri) .. belki de bunun nedeni yalnızca Avustralya İngilizcesini etkinleştirmemdir .... Yukarıdaki tüm komutlar .. bu yüzden şu anda bir gizem hala ...
Peter.O

@ red.bear: Yüklemeyi deneyin language-pack-enve language-support-enardından yukarıdaki işlemi tekrarlayın.
RolandiXor

1

Yerel dosyayı düzenlemeyi ve giriş yaparken farklı dilleri seçmeyi denedim.

Synaptic ile kırık paketleri filtrelemek ve 9 rahatsız edici paketi tamamen kaldırmak benim için çalıştı (libreoffice ve python uno).

Ancak, LibreOffice'i paket yöneticisini görünmeden bozmadan kuramıyorum. Ancak, yükleme yapar.

11.04 i386’dayım. Feragatname: Ubuntu güncellemeleri indirirken kurulumumun son bölümünde elektrik kesintisi oldu.


1

Aynı sorunu yaşadım ancak Sistem> Yönetim> Dil Desteği'ne gitmek sorununuzu çözebilir, çünkü sizden bazı paketleri yüklemenizi isteyebilir ve daha sonra sorun olmayacak! Benim için çalıştı, sanırım sizin için de aynısını yapacağım !!


0

Çalıştırmak

export LC_ALL="zh_CN.utf8"
ibus-setup

ve istediğiniz şekilde giriş yöntemi için seçeneklerden birini seçin.


0

Burada en_AU örneğine benzer bir problemim oldu (en çok Thunderbird'de göze çarpıyordu) - ama en_NZ'denim - ve Ubuntu 17.10 ile yapılan bazı denemelerden sonra hatamı yaptım. çoğunlukla en_AU ve en_US) en_NZ ile, sonra yeniden başlatılıyor.

Yalnızca yerel ayarlarınızı ayarlayamadığınız ve yapmasını istediği şeyi yapmadığınız için bir utanç - dpkg-configure yerel ayarlarının çalıştırılmasının aslında yararlı bir şey yapmadığı görülüyor.

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.