locale が間違っていて MComix が起動しなかった

最近新しく端末を購入し，例によって 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