`Gtk-ПРЕДУПРЕЖДЕНИЕ **: Язык, не поддерживаемый библиотекой C. ` при запуске приложений из командной строки

Я не получил ответа, но я ничего не делал, и это интересная тема. В Ubuntu 12.04 при открытии файла в gedit или если я работаю в командной строке в dpkg, я получаю сообщение об ошибке "locale not supported, возврат к библиотекам "C" по умолчанию" и приведенное ниже,

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

Сначала убедитесь, что установлен язык вашей библиотеки

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

например.

Затем, как суперпользователь, сократите работу, позволив Ubuntu автоматически настраивать их:

sudo dpkg-reconfigure locales

Проверьте свою настройку, если она правильная, то хорошо. Но если у вас есть LANG= или LANGUAGE= настройки пусты, запустите это в командной строке:

locale -a

Который генерирует установленные и доступные вам локали.

Выберите язык из сгенерированных выходных данных, который соответствует вашей ситуации, и экспортируйте этот параметр для замены ваших языков, например:

export LC_ALL="en.utf-8"

Для ручной установки используйте export чтобы вручную установить локаль, которая будет вручную устанавливать пользовательские локали, сначала выполните настройку, как описано выше.

Затем скажите, что вы хотите установить "en_us-8" для языка, но вам нужен другой язык для NUMERIC и TIME, вы можете захотеть использовать "en_NZ.utf-8" (помните: они чувствительны к регистру) или LANGUAGE="en_GB.utf-8" и NUMERIC="en.dk.ISO-8859-15". Путешествуя в Новую Зеландию, я мог бы сменить локаль LANGUAGE="en.NZ". Для Германии мне просто нужно было бы установить для нее locales pkg и ввести в терминале, как показано в примерах ниже:

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= может оставаться пустым.

Это приходило мне в голову не раз, на моем mint mate 18, который основан на Ubuntu 16.04, поэтому я хотел бы поделиться найденным решением, если кому-то понадобится.

Шаги:

(Эти шаги работают для mint mate, но Ubuntu может иметь аналогичные конфигурации, не уверен)

  • Откройте "языковые настройки".
  • Установите языки, если они отсутствуют. (Что касается меня, я бы установил китайский и японский языки в дополнение к английскому)
  • Для опции Language и Region, убедитесь, что язык по умолчанию для них правильный, например, установлен на "Английский, UTF-8 Соединенных Штатов".,
  • Перезагрузитесь, если будут внесены какие-либо изменения.
  • Проверьте, все ли в порядке.

первый:

sudo apt-get purge locales

затем:

sudo aptitude install locales

и знаменитый:

sudo dpkg-reconfigure locales

Это избавляет систему от локализаций, затем повторно устанавливает локали и понижает рейтинг libc6 с 2.19 до 2.13, что и является проблемой. Затем снова настраивает локали.

С помощью локализаций вы должны удалить язык, который конфликтует с вашей системой, это сработало для меня, на ubunty kylin 16.04, я установил его поверх ubuntu 14.04

это просто сработало правильно для меня, перейдя в gnome-terminal и набрав команду apt --fix locales и перезагрузите свой linux, и ваше ожидание ошибки терминала будет over.it на этот раз наверняка будет на вашем мониторе.

$ 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 для вашего ЯЗЫКА и посмотрите UTF-8 или utf8

Мне удалось вызвать это самостоятельно при переносе точечных файлов домашнего каталога на новую машину, и некоторое время я не мог определить причину из-за поиска файлов для LC_ но не LOC.

То ~/.bashrc файл, который я скопировал, содержал следующее:

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

(особое значение здесь было связано с предыдущими экспериментами с GNU Guix на старой машине; но важным фактом является просто то, что переменная окружения была установлена на недопустимый путь.)

Это привело к следующей ошибке при запуске различных программ:

Warning: locale not supported by C library, locale unchanged

И эти ошибки при запуске locale:

locale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAGES to default locale: No such file or directorylocale: Cannot set LC_ALL to default locale: No such file or directory

Удаление (или закомментирование) LOCPATH линия решила мои проблемы.

В моем случае,

sudo apt-get install language-pack-en-basesudo dpkg-reconfigure localesLANGUAGE=en_US:enpsppire

Ваши локали, похоже, нарушены. Как именно вы установили Ubuntu? Похоже, вы установили его таким образом, что локали не настроены должным образом. Пожалуйста, предоставьте дополнительную информацию об этом * в* вашем вопросе (отредактируйте его). И нет, локаль “C” - это то место, куда она возвращается, если локализация недоступна. Это из языка программирования Си.

спасибо за ответ. Моя установка Ubuntu - это папка внутри каталога Windows. Я знаю, почему я установил его там. Я был ленив при установке и позволил демону Linux сделать эту часть за меня.