`Gtk-WARNING **:ロケールはCライブラリでサポートされていません。`コマンドラインからアプリを起動するとき


31

答えは得られませんでしたが、何もしておらず、これは興味深いトピックです。Ubuntu 12.04では、geditでファイルを開くとき、またはdpkgでコマンドラインで作業しているときに、「ロケールがサポートされていません。デフォルトの「C」ライブラリにフォールバックします」というエラーが返されます。

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

ロケールが壊れているようです。Ubuntuを正確にどのようにインストールしましたか?ロケールが正しく設定されていない方法でインストールしたようです。あなたの質問にそれに関するいくつかの情報を提供しください(編集してください)。いいえ、Cロケールは、ローカライズが利用できない場合にフォールバックする場所です。Cプログラミング言語からです。
gertvdijk

返信いただきありがとうございます。Ubuntuのインストールは、Windowsディレクトリ内のフォルダーです。なぜそこにインストールしたのか知っています。私はインストールが面倒で、Linuxデーモンにその部分を任せてくれました。
ディオゲネスランタン

回答:


30

まず、ライブラリ言語がインストールされていることを確認してください

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"言語用にインストールしたいが、NUMERICandには別のロケールが必要だと言う(または、大文字と小文字が区別さTIMEれることに注意し"en_NZ.utf-8"てください)またはLANGUAGE="en_GB.utf-8"and を使用できますNUMERIC="en.dk.ISO-8859-15"。ニュージーランドに旅行して、ロケールを変更できましたLANGUAGE="en.NZ"。ドイツの場合、次の例のように、ターミナル用にロケール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= 空のままになることがあります。


3

最初:

sudo apt-get purge locales

その後:

sudo aptitude install locales

そして有名な:

sudo dpkg-reconfigure locales

これにより、システムのロケールが削除され、ロケールが再インストールされ、libc6が2.19から2.13にダウングレードされます。これが問題です。次に、ロケールを再度構成します。


1
これは非常に誤解を招く恐れがあります。この回答を決して使用しないでください。最初のコマンドは、データとともに多くのソフトウェアをドロップしますpostgresql
エリックワン

@EricWangは、他のソフトウェアをドロップする可能性があることは正しいです。それは、そのソフトウェアがlibc6 2.19ライブラリ(またはそれ以上のもの)に依存しているために起こります。多くの場合、そのソフトウェアはシステムをアップグレードし、Cライブラリでサポートされていないロケールのこの状態にしたものです。とにかく、確認する前に、削除する内容を確認する必要があります。
tkjef 16

3

これは、Ubuntu 16.04に基づいたミントメイト18で何度も発生したため、必要に応じて、見つけたソリューションを共有したいと思います。

手順:

(これらの手順はミントメイトでも機能しますが、Ubuntuは同様の構成を持っている可能性があります)

  • 「言語設定」を開きます。
  • 欠落している場合は、言語をインストールします。(私にとっては、英語に加えて中国語と日本語をインストールします)
  • オプションLanguageとについてRegionは、それらのデフォルト言語が適切であることを確認してください。たとえば、「English、United States UTF-8」に設定します。
  • 変更が行われた場合、再起動します。
  • 問題ないか確認してください。

0

ロケールでは、システムと競合する言語を削除する必要があります、これは私のために機能しました、ubunty kylin 16.04で、ubuntu 14.04の上にインストールしました


0

gnome-terminalに移動し、コマンドapt --fix localesを入力してLinuxを再起動すると、端末エラーが発生するのを待つことができました。


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

LOCALEにfi_SE、UTF-8またはutf8を参照


0

私はホームディレクトリのドットファイルを新しいマシンに移行するときに自分でこれを引き起こすこと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 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

行を削除(またはコメントアウト)LOCPATHすると、問題が解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.