すべてのユーザーに対して時計を24時間形式に設定

すべてのユーザーに対して時計を24時間形式に設定

Fedora 30は、現在のデスクトップ環境で日付を24時間形式で表示します。 chronydを介して時間を同期しています。ただし、CLIでは、Fri 22 Nov 2019 02:47:51 PM ESTすべてのユーザーに時間が表示されます。

24時間制を使用するように時間形式を指定したいと思います。timedatectlユーザー設定と再ログインに違いはありません。

答え1

dateコマンドラインでこれを使用すると、次Fri 22 Nov 2019 02:47:51 PM ESTの結果が返されます。地域設定現在の設定は12時間形式を指定するロケールです。

locale現在のロケールを表示するには入力してください。デフォルトでは、すべてのロケールは環境変数にすぎませんが、それらの間にはいくつかの依存関係があります。

ロケール設定のロジックは次のとおりです。

  • まず、このLANG変数はすべてのデフォルトロケールを定義します。LC_* ロケールカテゴリ、特定のカテゴリに対してより具体的な設定がない場合。

  • LC_CTYPE各ロケールカテゴリには、使用される文字セット、LC_COLLATEソート順、LC_TIME日付、時刻の表現などの名前があります。ロケールカテゴリ名に対応する環境変数がある場合はオーバーライドされますLANG

  • 最後に、究極の適用範囲がありますLC_ALL。設定すると、他のすべてのロケールよりも優先されます。export LC_ALL=Cこれは、スクリプトで使用されているすべてのコマンドの出力が、出力の解析をより困難にする可能性があるローカライズされた形式ではなく、POSIXネイティブアメリカン英語形式になることを保証するために、スクリプトまたは類似によく使用されます。 (もちろん、スクリプトで人が消費する目的で出力を解析するのは当初理想的ではありません。コマンドに「スクリプトに優しい出力」オプションがある場合はそれを使用する必要があります!)

歴史的に、RedHat / Fedoraでは、システムのデフォルトのロケールがファイルに存在する必要が/etc/sysconfig/i18nあります(i18n =国際化[s | z]ation、iとnの間の18文字)。最新バージョンには、localectlロケールとキーボードのレイアウト設定を継続的に照会および変更するために使用できるコマンドが必要です。環境変数設定は、常にシステム全体のロケールのデフォルト値を上書きするために使用できます。

デフォルトen_US.UTF-8のロケールを使用すると、これはen_GB.UTF-8最も近い24時間の時間表現になります。設定するには、以下を使用してください。

localectl set-locale LC_TIME=en_GB.UTF-8

その後、ログアウトして再度ログインすると、セッションに変更が適用されます。

別のロケールを使用している場合は、localectl list-locales利用可能なロケール定義ビューを使用してください。

不明な場合は、目的のロケールをコマンドの環境変数として指定して出力をテストできますdate

$ LC_TIME=en_GB.UTF-8 date
Sat 23 Nov 15:47:16 EET 2019
$ LC_TIME=en_US.UTF-8 date
Sat 23 Nov 2019 03:47:19 PM EET

関連情報