`Gtk-CẢNH BÁO **: Địa điểm không được thư viện C hỗ trợ. `khi bắt đầu ứng dụng từ dòng lệnh


31

Tôi không nhận được câu trả lời nhưng tôi không làm gì cả và đây là một chủ đề thú vị. Trong Ubuntu 12.04, khi mở tệp trong gedit hoặc nếu tôi đang làm việc với dòng lệnh trong dpkg, tôi nhận được lỗi "ngôn ngữ không được hỗ trợ, rơi trở lại thư viện" C "mặc định và thư viện bên dưới,

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

Địa phương của bạn dường như bị phá vỡ. Làm thế nào bạn cài đặt Ubuntu chính xác? Có vẻ như bạn đã cài đặt nó theo cách mà các địa phương không được cấu hình đúng. Vui lòng cung cấp một số thông tin về điều đó trong câu hỏi của bạn (chỉnh sửa nó). Và không, Cmiền địa phương là nơi nó quay trở lại nếu không có nội địa hóa. Đó là từ ngôn ngữ lập trình C.
gertvdijk

Cảm ơn vi đa trả lơi. Cài đặt Ubuntu của tôi là một thư mục bên trong thư mục Windows. Tôi biết tại sao tôi cài đặt nó ở đó. Tôi lười cài đặt và cho phép con quỷ Linux làm phần đó cho tôi.
Đèn lồng Diogenes

Câu trả lời:


30

Trước tiên hãy đảm bảo ngôn ngữ thư viện của bạn đã được cài đặt

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

ví dụ.

Sau đó, với tư cách là siêu người dùng, hãy rút ngắn công việc bằng cách cho phép Ubuntu tự động định cấu hình chúng:

sudo dpkg-reconfigure locales

Kiểm tra thiết lập của bạn, nếu nó chính xác thì tốt. Nhưng nếu bạn có LANG=hoặc LANGUAGE=cài đặt trống, hãy chạy lệnh này trong dòng lệnh:

locale -a

Mà tạo ra các địa phương được cài đặt và có sẵn cho bạn.

Chọn miền địa phương từ đầu ra được tạo phù hợp với tình huống của bạn và xuất cài đặt đó để thay thế địa điểm của bạn, ví dụ:

export LC_ALL="en.utf-8"

Để cài đặt thủ công, sử dụng exportđể đặt ngôn ngữ bằng tay sẽ cài đặt thủ công các địa điểm tùy chỉnh, trước tiên hãy chạy thiết lập như trên.

Sau đó, nói rằng bạn muốn cài đặt "en_us-8"cho ngôn ngữ nhưng có nhu cầu về một miền địa phương cho NUMERICTIME, bạn có thể muốn sử dụng "en_NZ.utf-8"(hãy nhớ rằng: đây là những trường hợp nhạy cảm) hay LANGUAGE="en_GB.utf-8"NUMERIC="en.dk.ISO-8859-15". Đi du lịch đến New Zealand, tôi có thể thay đổi địa phương LANGUAGE="en.NZ". Đối với Đức, tôi chỉ cần cài đặt pkg cục bộ cho nó và nhập liệu, trong thiết bị đầu cuối, như các ví dụ dưới đây:

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= có thể vẫn trống


3

Đầu tiên:

sudo apt-get purge locales

sau đó:

sudo aptitude install locales

và nổi tiếng:

sudo dpkg-reconfigure locales

Điều này giúp hệ thống các địa phương, sau đó cài đặt lại các địa điểm và hạ cấp libc6 từ 2,19 xuống 2,13, đây là vấn đề. Sau đó cấu hình lại địa phương.


1
Điều này rất rất sai lệch. Không bao giờ sử dụng câu trả lời này, lệnh đầu tiên sẽ bỏ rất nhiều phần mềm cùng với dữ liệu của họ, vd postgresql.
Eric Wang

@EricWang bạn đúng là nó có thể bỏ phần mềm khác và điều đó sẽ xảy ra vì phần mềm đó dựa vào thư viện libc6 2.19 (hoặc một cái gì đó cao hơn). Rất thường phần mềm đó là thứ đã nâng cấp hệ thống của bạn và đưa nó vào trạng thái cục bộ không được thư viện C hỗ trợ. Bất kể, bạn nên xem lại những gì đang được gỡ bỏ trước khi xác nhận.
tkjef

3

Điều này đã xảy ra với tôi hơn một lần, trên người bạn đời 18 tuổi, dựa trên Ubuntu 16.04, vì vậy tôi muốn chia sẻ giải pháp mà tôi tìm thấy, trong trường hợp có ai cần.

Các bước:

(Các bước này hoạt động cho giao phối bạc hà, nhưng Ubuntu có thể có cấu hình tương tự, không chắc chắn)

  • Mở "cài đặt ngôn ngữ".
  • Cài đặt ngôn ngữ, nếu thiếu. (Đối với tôi, tôi sẽ cài đặt tiếng Trung và tiếng Nhật ngoài tiếng Anh)
  • Đối với tùy chọn LanguageRegion, đảm bảo ngôn ngữ mặc định cho chúng là phù hợp, ví dụ: được đặt thành "Tiếng Anh, Hoa Kỳ UTF-8",
  • Khởi động lại, nếu có bất kỳ thay đổi nào được thực hiện.
  • Kiểm tra xem nó có tốt không.

0

Với các ngôn ngữ địa phương, bạn phải xóa ngôn ngữ xung đột với hệ thống của mình, điều này có hiệu quả với tôi, trên ubunty kylin 16.04, tôi đã cài đặt nó trên ubfox 14.04


0

nó chỉ hoạt động tốt với tôi bằng cách vào gnome-terminal và gõ lệnh apt --fix loces và khởi động lại linux của bạn và chờ đợi lỗi thiết bị đầu cuối kết thúc. Lần này chắc chắn sẽ có trên màn hình của bạn.


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 tới LOCALE của bạn và xem UTF-8 hoặc utf8


0

Tôi đã tự mình gây ra điều này khi di chuyển các tập tin dấu chấm thư mục chính sang một máy mới và tôi không thể xác định được nguyên nhân trong một thời gian trên tài khoản tìm kiếm các tập tin LC_nhưng không được LOC.

Các ~/.bashrctập tin tôi đã sao chép có như sau:

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

(giá trị cụ thể ở đây là trên tài khoản của các thử nghiệm trước với GNU Guix trên máy cũ; nhưng thực tế có liên quan đơn giản là biến môi trường được đặt thành đường dẫn không hợp lệ.)

Điều này dẫn đến lỗi sau khi chạy các chương trình khác nhau:

Warning: locale not supported by C library, locale unchanged

Và những lỗi này khi chạy 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

Xóa (hoặc nhận xét) LOCPATHdòng giải quyết vấn đề của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.