ロケールの問題があります。nautilus
およびその他のプログラムの照合シーケンスが変更されました。
GUIアプリを起動すると、ターミナルにロケールエラーが表示されます。
Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
locale
コマンドはエラーメッセージを生成します
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_AU
LANGUAGE=en_AU:en
LC_CTYPE="en_AU"
LC_NUMERIC="en_AU"
LC_TIME="en_AU"
LC_COLLATE=en_AU.UTF-8
LC_MONETARY="en_AU"
LC_MESSAGES=en_AU.UTF-8
LC_PAPER="en_AU"
LC_NAME="en_AU"
LC_ADDRESS="en_AU"
LC_TELEPHONE="en_AU"
LC_MEASUREMENT="en_AU"
LC_IDENTIFICATION="en_AU"
LC_ALL=
askubuntu question で提案されているように、次のコマンドを実行しましたが、変更はありませんでした。
Sudo apt-get install language-pack-en-base
Sudo dpkg-reconfigure locales
askubuntu question ...でも提案を試みましたが、変更もありません。
apt-get install --reinstall locales
私thinkは、IBus
経由でウルドゥー語のInput Method Editorを一時的にインストールおよびアンインストールしたときに始まりました。
おそらくIBusに関連していますが、これまで問題はありませんでした。
私は物事を再び「正常に」実行することができました。
IBusを完全に削除する(すべて無効)など、多くのパッケージの再インストールなどを試みた後、再インストールが変更されない構成設定が原因であると考え始めました。
locale
からの出力がUTF-8割り当てのかなり劣っていることに気付いたので、最近インストールしたVMでこれを確認しました... LC_ *のすべてのエントリ(LC_ALLを除くallその他)は、.UTF-8
サフィックスで設定されました。そのため、以下に示すようにLC_ *値を手動で設定します。
おそらくLC_ALL="en_AU.UTF-8"
を使用できたかもしれませんが、これについて読むと、 システムの日付と時刻の形式 をカスタマイズする方法を発見し、LC_ALL
がカスタムをオーバーライドします設定。
最も適切な方法を使用したかどうかはわかりませんが、機能します!
変更されたファイルは:/etc/default/locale
これはmod:の前の内容を表示します
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"
LC_MESSAGES="en_AU.UTF-8"
これは、内容を表示しますaftermod:
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"
LC_CTYPE="en_AU.UTF-8"
LC_NUMERIC="en_AU.UTF-8"
LC_TIME="en_AU.UTF-8"
LC_COLLATE=en_AU.UTF-8
LC_MONETARY="en_AU.UTF-8"
LC_MESSAGES=en_AU.UTF-8
LC_PAPER="en_AU.UTF-8"
LC_NAME="en_AU.UTF-8"
LC_ADDRESS="en_AU.UTF-8"
LC_TELEPHONE="en_AU.UTF-8"
LC_MEASUREMENT="en_AU.UTF-8"
LC_IDENTIFICATION="en_AU.UTF-8"
VMの同じファイルには、次の1行のみが含まれていました。
LANG="en_AU.UTF-8"
問題を解決するには、ロケールを再定義して再構成するだけで十分な場合があります。
Sudo locale-gen en_AU.UTF-8
Sudo dpkg-reconfigure locales
Sudo dpkg-reconfigure locales
を実行すると、クリックして目的のロケールを選択できます spacebar そして一緒に動く ↑ そして ↓ 打つ前に Enter。
ご覧の通り、LC_ALL
は空です。私は次のようにしました、それは役立ちます:
$ Sudo vim /etc/environment
LC_ALL
をen_US.UTF-8
のようなものに設定します。
LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_ALL="en_US.UTF-8"
その後、再起動してlocale
を実行すると、次のようになります。
LANG=zh_CN.utf8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
Ssh経由でマシンにリモート接続している場合(macosxデバイスなどから)、接続元のマシンでこれらの変数を設定する必要があります
以下を〜/ .bash_profileに追加します
#fix for locale issues when connecting to ubuntu servers
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
私は数か月間同じ問題を抱えていました。多くのソフトウェアツールが壊れたロケール設定について警告し、一部は実行を拒否しました。英語を使用したいが、スウェーデンの通貨と数字の設定を使用したい。
最終的に私のために働いたのは、/etc/default/locale
を編集して、そのファイルのすべてを削除したことです。それから、Unity言語のセットアップ(Settings -> Language Support)
を開始し、すべてをセットアップし(Ubuntuは不足しているコンポーネントをインストールしたかった)、完了したら"Apply System-wide"
を押しました。
/etc/default/locale
は次のようになります。
LC_NUMERIC = "sv_SE.UTF-8" LC_TIME = "sv_SE.UTF-8" LC_MONETARY = "sv_SE.UTF-8" LC_PAPER = " sv_SE.UTF-8 " LC_IDENTIFICATION =" sv_SE.UTF-8 " LC_NAME =" sv_SE.UTF-8 " LC_ADDRESS =" sv_SE.UTF-8 " LC_TELEPHONE = "sv_SE.UTF-8" LC_MEASUREMENT = "sv_SE.UTF-8" LANGUAGE = "en" LANG = "en_US.UTF-8"
これと元のファイルの大きな違いは、LANGUAGE="en"
です。
ホームプロファイルも編集する必要があることを追加します。
gedit ~/.profile
したがって、あなたの場合は次のようになります。
...
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"
ログアウト+ログイン。そしてすべてが期待どおりです。
これが投稿されてからしばらく経ちましたが、最近、「ロケール」変数に問題が発生し、答えが得られませんでした。たぶん私自身の経験が他の誰かを助けるかもしれない。
私のLANG変数は空であり、これは私に問題を与えていました。
$locale
出力:
LANG=
LANGUAGE=en_US
LC_CTYPE=POSIX
LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_COLLATE=POSIX
LC_MONETARY=POSIX
LC_MESSAGES=POSIX
LC_PAPER=POSIX
LC_NAME=POSIX
LC_ADDRESS=POSIX
LC_TELEPHONE=POSIX
LC_MEASUREMENT=POSIX
LC_IDENTIFICATION=POSIX
LC_ALL=POSIX
次のようなコマンドをいくつか試しました。
Sudo locale-gen
Sudo dpkg-reconfigure locales
成功なし。私は/ etc/default/localeを編集してみましたが、すでにOKだったことがわかります:
$cat /etc/default/locale
出力:
LANG=en_US.UTF-8
LC_NUMERIC="es_CO.UTF-8"
LC_TIME="es_CO.UTF-8"
LC_MONETARY="es_CO.UTF-8"
LC_PAPER="es_CO.UTF-8"
LC_NAME="es_CO.UTF-8"
LC_ADDRESS="es_CO.UTF-8"
LC_TELEPHONE="es_CO.UTF-8"
LC_MEASUREMENT="es_CO.UTF-8"
LC_IDENTIFICATION="es_CO.UTF-8"
また、私の。pam_environmentファイルは正しいように見えました:
$cat .pam_environment
出力:
LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_NUMERIC=es_CO.UTF-8
LC_TIME=es_CO.UTF-8
LC_MONETARY=es_CO.UTF-8
LC_PAPER=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
LC_ADDRESS=es_CO.UTF-8
LC_TELEPHONE=es_CO.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_IDENTIFICATION=es_CO.UTF-8
PAPERSIZE=letter
プロファイルやbashファイルに余分なものを追加したくないのは、主に問題を解決できたのに原因がわからず、それが私を悩ませたからです。
最後に、何かがすでに「ロケール」変数をオーバーライドしているかどうか疑問に思い、次のコマンドを実行しました。
$cat .bashrc | grep LANG
出力:
unset LANG
だから私は私の。bashrcファイルに2行を見つけました(ファイル全体を貼り付けていません):
unset LANG
export LC_ALL=POSIX
これらの行が私のbashファイルにどのように、またはいつ終わるかはわかりませんが、それらを書いていないと完全に確信しています。わからないが、これは意図的ではなく、「ロケール」の不正動作の原因について何も知らない人々がいるので、これが役立つかもしれない。とにかくこれらの行をコメントして再起動すると、問題が解決しました。 こちらLANG変数に関するsublimeT3の苦情に焦点を当てた同じ質問に答えました。
更新されたロケールが何らかの形で更新されたようです。私が見つけた修正は、ログアウトし、ログインする前に選択した言語を変更し、再度ログインすることでした。
また、シナプスでロケールを再インストールすると役立つ場合がありますが、これが私にとってそれが修正されたことを確認することはできませんが、ログアウトまたは何かだったと思います。
ログイン時にロケールファイルを編集し、別の言語を選択してみました。
Synapticを使用して破損したパッケージをフィルタリングし、問題のある9つのパッケージを完全に削除しました(libreofficeおよびpython uno)。
しかし、明らかにパッケージマネージャーが破損しない限り、LibreOfficeをインストールできません。ただし、インストールは行います。
私は11.04 i386です。免責事項:Ubuntuがアップデートをダウンロードしていたため、インストールの最後の部分で電源障害が発生しました。
私は同じ問題を抱えていましたが、システム>管理>言語サポートに行くと、いくつかのパッケージをインストールするように求められる可能性があるため、問題が解決する可能性があります!それは私のために働いたので、私はあなたにも同じことをするだろうと思います!!
私はここでen_AUの例に似た問題(Thunderbirdで最も顕著)がありましたが、私はen_NZからです-そしてUbuntu 17.10での試行錯誤の後、私の修正は〜/ .pam_environmentを更新して他のすべてのエントリを置き換えました(ほとんどがen_AUおよびen_US)、en_NZを使用して、再起動します。
ロケールを設定して、それを実行するように要求するだけでは実行できないという恥ずかしさ-dpkg-configureロケールを実行しても実際には何の役にも立ちません。
走る
export LC_ALL="zh_CN.utf8"
ibus-setup
希望する入力方法のオプションのいずれかを選択します。