MX Linux で Locale 変数の一つだけを変える
MX Linux の locale LC_TIME 環境変数だけを他の環境変数と異なる国タイプに変更する
MX Linux を英語版(locale en_US)でインストールしました。日本語のディレクトリになると、コマンド操作がやりにくいこともありますので、英語版を使っています。英語版のままでも、後から IBus Anthy を設定することで日本語入力が可能になります。
以下の画像はその状態のデスクトップです。
Conky(MX-Cowon_blue_robot)によって、デジタル時計が示されています。表示が「12時間」形式になっていますので、これを「24時間」表示に変えたいと思ったのが、今回のトピックのきっかけです。
その箇所の表示を変えるには、詳しい方から Conky の存在と Conky の表示設定を編集すればよいことを教えてもらいました。それが正当な方法だと思います。しかし、その設定を見たら、私には結構複雑なつくりに見え、変更するのが大変そうに感じました。
詳しい方々にアドバイスをいただいている過程で、もっと楽にできる方法はないかと考えたとき、locale を「日本」にすると、デスクトップの Conky によるデジタル時計は「24時間」表示になること思い出しました。
ひょっとすると、locale の時刻表示に関する箇所(環境変数)だけを「日本」に変えれば Conky によるデジタル時計は「24時間」形式にできるのでは、と考えました。
コマンド locale で調べた変数が以下です。
LANG=en_US.UTF-8
LANGUAGE=
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=
上記環境変数の「 LC_TIME 」だけを「 ja_JP.UTF-8 」に変えることにします。一般的なコマンドの 「 export LC_TIME=”ja_JP.UTF-8” 」では、Conky の時刻表示を変更することはできません。このコマンドで効果が有効になるのは、それを実行したターミナルのセッション内のみで、別のターミナルでは「 LC_TIME=”en_US.UTF-8” 」のままでした。
調べた結果、効果があったのは「 sudo update-locale LC_TIME=ja_JP.UTF-8 」コマンドでした。このコマンドによって、「 /etc/default/locale 」ファイルが更新されます。
MX-Linux を Restart させて、Conky による時刻表示を見ると「24時間」形式に変わっていました。
曜日と月の箇所は文字化けしていますが、時刻は「24時間」形式になりました。上記のコマンド(sudo update-local LC_TIME=ja_JP.UTF-8)は、システム全体にわたって有効だということが分かりました。
私自身は試しておりませんが、Conky の表示定義ファイルを編集することでも時刻の「24時間」形式表示は可能ということです。Conky の表示定義を編集するのが正当法かと思います。
LC_TIME 環境変数の変更に関しては、以下の情報を参考にさせていただきました。
≪ Gartner HCI Magic Quadrant 2020 | HOME | 性能を上げるなら、置き方が重要 ≫
≪ Gartner HCI Magic Quadrant 2020 | HOME | 性能を上げるなら、置き方が重要 ≫