FreeBSDにSSHで接続するときに~/.login_conf設定が尊重されないのはなぜですか?

FreeBSDにSSHで接続するときに~/.login_conf設定が尊重されないのはなぜですか?

私のラップトップからSSHを介して(私が管理している)ローカルFreeBSDサーバーに接続しています。 FreeBSD 11.2インベントリファイルがあります/etc/login.conf。私の~/.login_confファイルに以下を追加しました。

:me \
    :charset=UTF-8:\
    :lang=en_CA.UTF-8:

FreeBSDのマニュアルを読んでください。22.2。ローカライゼーションの使用LANG、SSH経由で接続するときは、自分と他のロケール変数を自動的に設定したいと思います。

接続すると、以下が表示されると予想されます。

% locale
LANG=en_CA.UTF-8
LC_CTYPE="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_ALL=

代わりに私はこれを見る:

% locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=

~/.login_conf私のプロフィールが尊重されていないようです。

私の~/.login_confファイルが尊重されないのはなぜですか?どのように機能させるのですか?

追加情報:はい、実行しました。cap_mkdbログイン設定を変更した後。エラーや成功のメッセージは表示されません。私の設定ファイルは次のとおりです。

% ls -lF /etc/login* ~/.login*
-rw-r--r--  1 root  wheel   1853 Jun 21  2018 /etc/login.access
-rw-r--r--  1 root  wheel   6790 Jun 21  2018 /etc/login.conf
-rw-r--r--  1 root  wheel  16384 Sep  2 16:41 /etc/login.conf.db
-rw-r--r--  1 meee  meee     392 Aug 22 01:04 /home/meee/.login
-rw-r--r--  1 meee  meee     214 Sep  2 16:23 /home/meee/.login_conf
-rw-r--r--  1 meee  meee   16384 Sep  2 16:23 /home/meee/.login_conf.db
-rw-r--r--  1 meee  meee     214 Sep  2 16:11 /home/meee/.login_conf~

新しいロケールを適用するには、新しいセッションを開始する必要があることを理解してください。私が知っている限り、FreeBSDサーバーのsshセッションからログアウトしてからsshを介してFreeBSDに再接続すると、新しいログインセッションが開始されます。だから私はそれが動作するのに十分であることを願っています~/.login_conf。しかし、これはうまくいかないようです。

次のコマンドは、locale現在のセッションの残りの部分に対して正しい結果を返します。

% LANG=en_CA.UTF-8; export LANG ; MM_CHARSET=UTF-8; export MM_CHARSET

これは回避策ですが、安定して~/.login_conf動作することを願っています。

私のファイル~/.login_conf全体は次のとおりです。

# $FreeBSD: releng/11.2/share/skel/dot.login_conf 77995 2001-06-10 17:08:53Z ache $
#
# see login.conf(5)
#
#me:\
#       :charset=iso-8859-1:\
#       :lang=de_DE.ISO8859-1:

:me \
    :charset=UTF-8:\
    :lang=en_CA.UTF-8:

[更新:~/.login_confファイル全体の内容を追加し、説明文を改善しましたcap_mkdb。 ]

ベストアンサー1

おすすめ記事