`Gtk-WARNING **: Lokal tidak didukung oleh perpustakaan C. `ketika memulai aplikasi dari commandline

31

Saya tidak mendapatkan jawaban tetapi saya tidak melakukan apa-apa dan ini adalah topik yang menarik. Di Ubuntu 12.04, ketika membuka file di gedit atau jika saya bekerja pada baris perintah dalam dpkg, saya mendapatkan kembali kesalahan "lokal tidak didukung, kembali ke default" C "perpustakaan", dan yang di bawah,

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
Diogenes Lantern
sumber
Lokal Anda tampaknya rusak. Bagaimana tepatnya Anda menginstal Ubuntu? Sepertinya Anda menginstalnya dengan cara yang tidak dikonfigurasi dengan benar. Harap berikan beberapa informasi lebih lanjut mengenai hal itu dalam pertanyaan Anda (sunting). Dan tidak, Clokal di mana ia kembali ke jika tidak ada lokalisasi tersedia. Ini dari bahasa pemrograman C.
gertvdijk
Terima kasih balasannya. Instalasi Ubuntu saya adalah folder di dalam direktori Windows. Saya tahu mengapa saya menginstalnya di sana. Saya malas menginstal dan membiarkan iblis Linux melakukan bagian itu untuk saya.
Diogenes Lantern

Jawaban:

30

Pertama-tama pastikan bahasa perpustakaan Anda diinstal

sudo apt-get install language-pack-en-base,

sebagai contoh.

Kemudian, sebagai superuser, mempersingkat pekerjaan dengan memungkinkan Ubuntu untuk secara otomatis mengonfigurasinya:

sudo dpkg-reconfigure locales

Periksa pengaturan Anda, jika itu benar maka bagus. Tetapi jika Anda memiliki LANG=atau LANGUAGE=pengaturan kosong, jalankan ini di baris perintah:

locale -a

Yang menghasilkan lokal diinstal dan tersedia untuk Anda.

Pilih lokal dari output yang dihasilkan yang sesuai dengan situasi Anda, dan ekspor pengaturan itu untuk mengganti lokal Anda, misalnya:

export LC_ALL="en.utf-8"

Untuk instalasi manual digunakan exportuntuk mengatur lokal dengan tangan yang secara manual akan menginstal lokal kustom, pertama jalankan set up seperti di atas.

Kemudian, katakan Anda ingin menginstal "en_us-8"untuk bahasa tetapi membutuhkan lokal lain untuk NUMERICdan TIME, Anda mungkin ingin menggunakan "en_NZ.utf-8"(ingat: ini case-sensitive) atau LANGUAGE="en_GB.utf-8"dan NUMERIC="en.dk.ISO-8859-15". Bepergian ke Selandia Baru, saya bisa mengubah lokasi LANGUAGE="en.NZ". Untuk Jerman, saya hanya perlu menginstal pkg locales untuk itu dan masukan, di terminal, seperti contoh di bawah ini:

export LC_ALL="en_US"
export LANG="en_US"
export LANGUAGE="en_NZ"
export C_CTYPE="en_US"
export LC_NUMERIC=
export LC_TIME=en"en_US"

LC_ALL= mungkin tetap kosong.

Diogenes Lantern
sumber
3

pertama:

sudo apt-get purge locales

kemudian:

sudo aptitude install locales

dan yang terkenal:

sudo dpkg-reconfigure locales

Ini rids sistem lokal, kemudian menginstal ulang lokal dan menurunkan libc6 dari 2,19 menjadi 2,13 yang merupakan masalah. Kemudian konfigurasikan kembali locales.

tkjef
sumber
1
Ini sangat menyesatkan. Jangan pernah menggunakan jawaban ini, perintah pertama akan menjatuhkan banyak perangkat lunak bersama dengan datanya, mis postgresql.
Eric Wang
@ EricWang Anda benar bahwa itu mungkin menjatuhkan perangkat lunak lain, dan itu akan terjadi karena perangkat lunak itu bergantung pada libc6 2.19 perpustakaan (atau sesuatu yang lebih tinggi). Sangat sering bahwa perangkat lunak adalah hal yang meningkatkan sistem Anda dan memasukkannya ke dalam kondisi lokal yang tidak didukung oleh perpustakaan C. Apa pun itu, Anda harus meninjau apa yang dihapus sebelum mengonfirmasi.
tkjef
3

Ini terjadi pada saya lebih dari sekali, pada pasangan mint saya 18, yang berbasis pada Ubuntu 16.04, jadi saya ingin berbagi solusi yang saya temukan, jika ada yang membutuhkan.

Tangga:

(Langkah-langkah ini berfungsi untuk mint mate, tetapi Ubuntu mungkin memiliki konfigurasi yang sama, tidak yakin)

  • Buka "pengaturan bahasa".
  • Instal bahasa, jika tidak ada. (Bagi saya, saya akan menginstal bahasa Cina & Jepang selain bahasa Inggris)
  • Untuk opsi Languagedan Region, pastikan bahasa default untuk mereka sudah benar, misalnya diatur ke "Bahasa Inggris, Amerika Serikat UTF-8",
  • Reboot, jika ada perubahan.
  • Periksa apakah tidak apa-apa.
Eric Wang
sumber
0

Dengan locales Anda harus menghapus bahasa yang bertentangan dengan sistem Anda, ini bekerja untuk saya, di ubunty kylin 16.04, saya telah menginstalnya di ubuntu 14.04

Bart
sumber
0

itu hanya bekerja dengan baik untuk saya dengan pergi ke gnome-terminal dan mengetik perintah apt --fix locales dan reboot linux Anda dan tunggu Anda untuk kesalahan terminal selesai. pasti akan ada di monitor Anda saat ini pasti.

Shashank
sumber
0
$ mkdir -p $HOME/.locale
$ I18NPATH=./wrk/ localedef -f UTF-8 -i fi_SE $HOME/.locale/fi_SE.UTF-8
$ LOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date
$ echo "export LOCPATH=\$HOME/.locale" >> $HOME/.bashrc
$ echo "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc

fi_SE ke LOCALE Anda, dan lihat UTF-8 atau utf8

Dzmitry
sumber
0

Saya berhasil menyebabkan ini sendiri ketika memigrasi file dot direktori home ke mesin baru, dan saya gagal mengidentifikasi penyebabnya untuk sementara waktu karena mencari file LC_tetapi tidak LOC.

The ~/.bashrcfile I disalin memiliki berikut:

export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

(nilai tertentu di sini adalah karena percobaan sebelumnya dengan GNU Guix pada mesin lama; tetapi fakta yang relevan adalah bahwa variabel lingkungan ditetapkan ke jalur yang sekarang tidak valid.)

Ini menghasilkan kesalahan berikut ketika menjalankan berbagai program:

Warning: locale not supported by C library, locale unchanged

Dan kesalahan ini saat menjalankan locale:

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

Menghapus (atau mengomentari) LOCPATHsaluran menyelesaikan masalah saya.

phils
sumber