web-dev-qa-db-ja.com

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

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

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

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

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"。ドイツの場合、以下の例のように、ターミナル用のロケール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=は空のままです。

28

これは、Ubuntu 16.04をベースにしたミントメイト18で何度も発生したため、誰かが必要になった場合に備えて、見つけたソリューションを共有したいと思います。

手順:

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

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

最初:

Sudo apt-get purge locales

その後:

Sudo aptitude install locales

そして有名な:

Sudo dpkg-reconfigure locales

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

3
tkjef

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

0
Bart

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

0
Shashank
$ 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
Dzmitry

私はホームディレクトリのドットファイルを新しいマシンに移行するときに自分でなんとかして、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行を削除(またはコメントアウト)すると、問題が解決しました。

0
phils