Bagaimana cara memperbaiki masalah lokal saya?

Saya mendapatkan pesan ini setiap kali saya melakukan sesuatu seperti memulai atau menghentikan layanan.

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   

Bagaimana cara memperbaiki kesalahan ini ?

Lari pertama locale untuk mencantumkan lokal apa yang saat ini ditentukan untuk akun pengguna saat ini:

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

Kemudian buat lokal yang hilang dan konfigurasikan ulang lokal untuk memperhatikan:

$ sudo locale-gen "en_US.UTF-8"Generating locales...  en_US.UTF-8... doneGeneration complete.$ sudo dpkg-reconfigure localesGenerating locales...  en_US.UTF-8... up-to-dateGeneration complete.

Sekarang Anda tidak akan melihat kesalahan lagi!

Tidak ada yang disarankan di atas yang berhasil dalam kasus saya (Ubuntu Server 12.04 LTS). Apa yang akhirnya membantu adalah menempatkan ke file /etc/environment:

LC_ALL=en_US.UTF-8LANG=en_US.UTF-8

Untuk beberapa alasan itu hilang. Output untuk lokal dan perintah lain muncul seperti variabel didefinisikan dengan benar. Dengan kata lain tidak mengambil untuk diberikan semua hal-hal dasar dinyatakan mana harus dinyatakan.

Mereka harus menghilang setelah mengeluarkan:

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

dpkg-reconfigure mengkonfigurasi ulang paket setelah mereka telah diinstal. Berikan Nama paket atau paket untuk dikonfigurasi ulang. Ini akan mengajukan pertanyaan konfigurasi, seperti ketika paket pertama kali diinstal.

Hanya menambahkan berikut untuk Anda .bashrc file (dengan asumsi Anda menggunakan bash)

export LC_ALL="en_US.UTF-8"

Ini adalah masalah umum jika Anda terhubung dari jarak jauh, jadi solusinya adalah tidak meneruskan lokal Anda. Edit /etc/ssh/ssh_config dan komentar keluar SendEnv LANG LC_* line.

Ada perintah untuk itu:

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

Ini update /etc/default/locale dengan nilai yang diberikan.

Untuk menerapkan perubahan, Anda dapat

source /etc/default/locale

Apa yang berhasil bagi saya pada pukul 12.10 adalah ini:

apt-get install language-pack-en-base  

Ini adalah setelah dpkg-reconfigure locales tidak menghasilkan hasil.

Jangan lupa keluar dari sesi SSH Anda (atau X11 Anda) dengan keluar dan masuk kembali. Semua saran ini tidak berhasil untuk saya kecuali saya masuk kembali....

Untuk Ubuntu 12.10 tidak ada yang di atas yang berfungsi kecuali untuk solusi ratzs. Saya sarankan menambahkan ini ke / etc / bash Anda.berkas bashrc:

export LC_ALL="en_ZA.UTF-8"export LC_CTYPE="en_ZA.UTF-8"

Saya terjebak dalam keadaan aneh di mana mesin lokal saya diatur ke es dan mesin remote (via vagrant) telah ditetapkan dalam keadaan tidak ditangani. Karena itu, saya harus menggunakan manual export= hanya untuk memfasilitasi sukses dpkg-reconfigure. Maka sistemnya baik-baik saja.

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

kemungkinan duplikat dari variabel lokal tidak berpengaruh pada remote shell (perl: peringatan: pengaturan lokal failed.)

Terkait: [cara mengatur lokal?] (perl - How to set locale? - Ask Ubuntu)

Perbaikan mudah dan permanen untuk semua pengguna: locale: Cannot set LC_CTYPE to default locale: No such file or directory locale - Ask Ubuntu

Anda perlu mengatakan: mesin Anda? Atau Anda hanya memiliki login pengguna dan tidak dapat mengubah pengaturan sistem? (Ya saya tahu ini adalah pertanyaan yang sangat lama. Dan upvotes dari jawaban yang salah mengerikan)