wheeze ロケールの問題 - gnome-control-center 領域が segfault と競合する

wheeze ロケールの問題 - gnome-control-center 領域が segfault と競合する

過去数日間、私がいる場所で深刻な問題を経験しました。私は一般的に「en_GB.UTF-8」です。 aptを実行すると、突然エラーメッセージが表示されます。

Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 33, in <module>
from ALChacks import *
File "/usr/share/apt-listchanges/ALChacks.py", line 32, in <module>
sys.stderr.write(_("Can't set locale; make sure $LC_* and $LANG are correct!\n"))
NameError: name '_' is not defined
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "en_gb",
LC_MONETARY = "en_gb",
LC_MEASUREMENT = "en_gb",
LC_NUMERIC = "en_gb",
LANG = "en_US.utf8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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
Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale. at /usr/share/perl5/Debconf/FrontEnd    /Gnome.pm line 97, <> line 1.

また、「gnome-control-center-zone」を実行しようとすると segfault または GUI が発生しますが、何でも設定しようとすると segfault が発生します。エラーメッセージの「en_gb」に注意してください。小文字の「GB」は無効です。また、私のシステムにはen_USがロケールとして存在しないと思います。ログインすると、ディレクトリ名を「自分の言語が変更されました」に変更するかどうかを尋ねるダイアログボックスが表示されます。これは少し混乱しています。アップデート後に起動したと思いましたが、sidでgnome-shell 3.2をインストールしようとしました(誤って依存関係を満たすのは簡単だと思い、gnome拡張を使用したかったので)。また転がしたのに、何かねじれてしまうのでしょうか?それでは、何を再インストールする必要がありますか?

/usr/bin/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
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC=en_gb
LC_TIME=en_gb
LC_COLLATE="en_US.utf8"
LC_MONETARY=en_gb
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT=en_gb
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

locale-aの出力:

C
C.UTF-8
en_GB
en_GB.iso88591
en_GB.utf8
POSIX

ベストアンサー1

ロケール定義は多くのディスク領域を占有しているため(利用可能なさまざまなロケールをすべて追加する場合)、Debian と他のディストリビューションは要求時に作成します。 Debian ではdpkg-reconfigure locales(root として) 実行し、興味のあるロケールを選択します。適切なボックスを選択します(使用する場合はen_US.utf8他のバリエーションも含みます)。en_USまた、一部のカテゴリは奇妙に宣言されていますen_gben_gb構成ファイル()で対応する文字列を検索して、問題のあるgrep -r en_gb ~/.[!.]* /etcファイルを修正してください。

おすすめ記事