`Gtk-WARNING **: Locale not supported by C library. ` when starting apps from the commandline

144,089

Solution 1

First make sure your library language is installed

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

for example.

Then, as superuser, shorten the work by allowing Ubuntu to automatically configure them:

sudo dpkg-reconfigure locales

Check your setup, if it's correct then good. But if you have the LANG= or LANGUAGE= settings blank, run this in command line:

locale -a

Which generates the locales installed and available to you.

Choose the locale from the output generated that fits your situation, and export that setting to replace your locales, for example:

export LC_ALL="en.utf-8"

For manual installation use export to set locale by hand which will manually install custom locales, first run the set up as above.

Then, say you want to install "en_us-8" for language but have need for another locale for NUMERIC and TIME, you may wish to use "en_NZ.utf-8" (remember: these are case-sensitive) or LANGUAGE="en_GB.utf-8" and NUMERIC="en.dk.ISO-8859-15". Traveling to New Zealand, I could change the locale LANGUAGE="en.NZ". For Germany, I would just need to install the locales pkg for it and input, in terminal, like the examples below:

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= may remain empty.

Solution 2

This occurred to me more than once, on my mint mate 18, which is based on Ubuntu 16.04, so I'd like to share the solution I found, in case anyone needs.

Steps:

(These steps works for mint mate, but Ubuntu might have similar configurations, not sure)

  • Open "language settings".
  • Install languages, if missing. (For me, I would install Chinese & Japanese languages in addition to English)
  • For option Language and Region, make sure the default language for them are proper, e.g set to "English, United States UTF-8",
  • Reboot, if any change is made.
  • Check whether it's fine.

Solution 3

first:

sudo apt-get purge locales

then:

sudo aptitude install locales

and the famous:

sudo dpkg-reconfigure locales

This rids the system of locales, then re-installs locales and downgrades libc6 from 2.19 to 2.13 which is the issue. Then configures locales again.

Share:
144,089

Related videos on Youtube

Diogenes Lantern
Author by

Diogenes Lantern

Updated on September 18, 2022

Comments

  • Diogenes Lantern
    Diogenes Lantern over 1 year

    I didn't get an answer but I wasn't doing anything and this is an interesting topic. In Ubuntu 12.04, when opening a file in gedit or if I am working on the command line in dpkg, I get returned the error "locale not supported, falling back to default "C" libraries", and the one below,

    Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.
    
  • Eric
    Eric over 7 years
    This is very very misleading. Never use this answer, the first command will drop a lot software together with their data, e.g postgresql.
  • tkjef
    tkjef over 7 years
    @EricWang you are correct that it may drop other software, and that will happen because that software is relying on the libc6 2.19 library (or something higher). Very often that software was the thing that upgraded your system and put it in this state of locales not being supported by the C library. Regardless, you should review what is being removed before confirming.