私のラップトップから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
。 ]