ロケール設定が正しくありません。リセットするにはどうすればよいですか?


43

ロケールの問題があります。およびその他のプログラム
の照合順序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の質問で提案を試みました...また、変更はありません。

    apt-get install --reinstall locales

私は考えてそれは私が一時的にインストールしたときに開始し、経由ウルドゥー語入力方式エディタをアンインストールしIBus、それは確かに同じ日に起こりました..

おそらくIBusに関連していますが、これまで問題はありませんでした。

  • OSは10.04

回答:


27

物事を再び「正常に」実行することができました。

IBusを完全に削除する(すべて無効)など、多くのパッケージの再インストールなどを試みた後、再インストールでは変更されない構成設定が原因であると考え始めました。

私はからの出力があることに気づいていたlocale(上書きしますLC_ALL、除くLC_ *のすべてのエントリUTF-8の割り当ての、...私は最近インストールVMでこれをチェックして、むしろ奪われたすべての他は)で設定した.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"
    
  • これはmodのの内容を示します:

    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" 


投稿ありがとうございます。記録のために、修正を機能させるにはシステムを再起動する必要がありました。(おそらくemacs eval-bufferを使用できたでしょうか?)
デイビッドルバウアー

19

問題を解決するには、ロケールを再定義して再構成するだけで十分な場合があります。

sudo locale-gen en_AU.UTF-8
sudo dpkg-reconfigure locales

あなたが実行するとsudo dpkg-reconfigure locales、あなたはをクリックすることで、必要なロケールを選択することができますspacebarし、で移動し、打つ前にEnter


たぶん、スペースバーで必要な言語を選択することに言及する価値があります。
ダニエルKmak 14

@ダニエル私は理解していない:スペースバー?
ギヨーム・ヴィンセント14

1
実行dpkg-reconfigureすると、チェックボックス付きのリストが表示され、言語を選択するにはスペースバーを使用する必要があります。コンソールプログラムにはそのような情報はないので、答えの下に書くのが役立つと思いました。これらの言語を選択する方法を知りませんでした。
ダニエルKmak 14


15

あなた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

このソリューションは、Ubuntu 12.04 LTSで正確に動作します
-speciousfool

設定LC_ALLは推奨されません。「LC_ALLを使用すると、すべてが上書きされるため、使用しないことを強くお勧めします。テスト時にのみ使用し、スタートアップファイルに設定しないでください。」wiki.debian.org/Locale
gertvdijk

4

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"

1
OS Xから接続する場合、これは既知の障害ですか?
MindTooth

これが仕様によるものなのか、障害/バグなのか
わからない-Somatik

2

ホームプロファイルも編集する必要があることを追加します。

gedit ~/.profile

したがって、あなたの場合は次のようになります。

...
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"

ログアウト+ログイン。そしてすべてが期待どおりです。


export各行の最初に必要でしたので、それをに入れました~/.bashrc
スパラフーク14

2

私は数か月間同じ問題を抱えていました。多くのソフトウェアツールが壊れたロケール設定について警告し、一部は実行を拒否しました。英語を使用したいが、スウェーデンの通貨と数字の設定を使用したい。

最終的に私のために働いたのは/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"です。


私の命の恩人...
ジョン・ジョー

2

これが投稿されてからしばらく経ちましたが、最近「ロケール」変数に問題が発生し、答えが得られませんでした。たぶん私自身の経験が他の誰かを助けるかもしれない。

私の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を編集してみましたが、すでに問題ないことがわかりました。

$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の苦情に焦点を当てた同じ質問に答えました。


1

更新されたロケールが何らかの形で更新されたようです。私が見つけた修正は、ログアウトし、ログインする前に選択した言語を変更し、再度ログインすることでした。

また、シナプスでロケールを再インストールすると役立つ場合がありますが、これが私にとってそれが修正されたことを確認することはできませんが、ログアウトまたは何かだったと思います。


再ログインして言語を変更します。ログオン時に言語を変更する実際の方法はありません。言語の変更を説明するテキストは表示されますが、オプション(ボタンなど)はありません。上記のすべてのコマンド..そのため、現時点では謎のままです
...- Peter.O

@ red.bear:とをインストールしてlanguage-pack-enからlanguage-support-en、上記のプロセスを繰り返します。
RolandiXor

1

ログイン時にロケールファイルを編集し、異なる言語を選択してみました。

Synapticで破損したパッケージをフィルタリングし、問題のある9つのパッケージを完全に削除しました(libreofficeとpython uno)。

しかし、明らかにパッケージマネージャーが破損しない限り、LibreOfficeをインストールできません。ただし、インストールは行います。

私は11.04 i386です。免責事項:Ubuntuがアップデートをダウンロードしていたため、インストールの最後の部分で電源障害が発生しました。


1

私は同じ問題を抱えていましたが、システム>管理>言語サポートに行くと、いくつかのパッケージをインストールするように求められる可能性があるため、問題が解決する可能性があります!それは私のために働いたので、私はそれがあなたにも同じことをするだろうと思います!!


0

走る

export LC_ALL="zh_CN.utf8"
ibus-setup

希望する入力方法のオプションのいずれかを選択します。


0

私はここでen_AUの例に似た問題(Thunderbirdで最も顕著)がありました-しかし、私はen_NZから来ました-そしてUbuntu 17.10での試行錯誤の後、私の修正は〜/ .pam_environmentを更新し、他のすべてのエントリを置き換えました(ほとんどがen_AUおよびen_US)、en_NZを使用して、再起動します。

ロケールを設定して、それを実行するように要求するだけでは実行できないという恥ずかしさ-dpkg-configureロケールを実行しても実際には何の役にも立ちません。

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