最近新しく端末を購入し,例によって Debian sid を入れてセットアップ中です.
しかし, MComix が起動しません.
端末で試すとこのようなエラー.
$ mcomix Traceback (most recent call last): File "/usr/bin/mcomix", line 8, in <module> sys.exit(main()) ^^^^^^ File "/usr/lib/python3/dist-packages/mcomix/__main__.py", line 26, in main run() File "/usr/lib/python3/dist-packages/mcomix/run.py", line 154, in run i18n.install_gettext() File "/usr/lib/python3/dist-packages/mcomix/i18n.py", line 82, in install_gettext lang = portability.get_default_locale() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mcomix/portability.py", line 49, in get_default_locale lang, _ = locale.getdefaultlocale(("LANGUAGE", "LC_ALL", "LC_MESSAGES", "LANG")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/locale.py", line 549, in getdefaultlocale return _getdefaultlocale(envvars) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/locale.py", line 579, in _getdefaultlocale return _parse_localename(localename) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/locale.py", line 496, in _parse_localename raise ValueError('unknown locale: %s' % localename) ValueError: unknown locale: ja_JP-UTF-8 $ env | grep ja_JP-UTF-8 LANGUAGE=ja_JP-UTF-8
locale が ja_JP-UTF-8
と ja_JP.UTF-8
の Typo らしきものになっており知らない locale だということで起動に失敗しているようです.
$ LANGUAGE=ja_JP.UTF-8 mcomix
とすると起動します.
ja_JP-UTF-8
をどこかで間違って設定してしまったのだろうと探すと /etc/locale.conf
に見つけました.
これを ja_JP.UTF-8
に修正,再起動することで修正されました.
$ sudo localectl set-locale ja_JP.UTF-8 $ sudo git -C /etc diff locale.conf diff --git a/locale.conf b/locale.conf index ee5c432..6345544 100644 --- a/locale.conf +++ b/locale.conf @@ -1,2 +1,2 @@ LANG=ja_JP.UTF-8 -LANGUAGE=ja_JP-UTF-8 +LANGUAGE=ja_JP.UTF-8
/etc/locale.conf
は systemd のもののようです.
/etc/locale.conf
がシステムワイドの設定, ~/.config/locale.conf
がユーザーの設定のようです.
ということでこのように変更しました.
$ localectl set-locale LANG=C $ cat /etc/locale.conf LANG=C $ cat ~/.config/locale.conf LANG=ja_JP.UTF-8 LANGUAGE=ja_JP.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 $ systemctl reboot
しかし, ~/.config/locale.conf はうまく反映されなかったので結局いつもの ~/.profile で設定し直しました.
$ locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP.UTF-8 LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL=
この環境は,Debian testing の 20240718 スナップショットで導入してすぐに sid にアップグレードしたものです.
loale は ja_JP.UTF-8, en_US.UTF-8, C.UTF-8
をテキストインストーラーから選択, ja_JP.UTF-8
をデフォルトロケールに.インストール後 sid に dist-upgrade して手動設定を下覚えのない環境です.
折を見て再度試してみたいところです.
$ dpkg-query -W locales systemd locales 2.39-6 systemd 256.4-2 $ lsb_release -dr Description: Debian GNU/Linux trixie/sid Release: n/a $ arch x86_64