(たとえばDebianでは)dpkg-reconfigure tzdata
systemのタイムゾーンを変更しますが、serタイムゾーンをどのように変更できるのか(Linux/Unixがこのようなアイデアをサポートしている場合)。
私は通常、sshを介してリモートでサーバー上で作業しますが、サーバーが内部でUTC(ファイルなど)で動作し、タイムゾーンが表面的である場合、接続元に応じて希望のタイムゾーンで時間を確認したいと思います。これは可能ですか?
TZ
環境変数を使用します。例えば。:
bash$ export TZ=US/Pacific
bash$ date
Mon Mar 3 00:31:17 PST 2014
bash$ export TZ=US/Eastern
bash$ date
Mon Mar 3 03:33:06 EST 2014
TZ
の可能な値は、ディレクトリ/usr/share/zoneinfo
にあります(たとえば、/usr/share/zoneinfo/US/Pacific
の存在を参照してください)。
まず、sshサーバーとsshクライアントの設定が必要です。
サーバーの/etc/ssh/sshd_config
で、TZ
変数を受け入れるようにしてください。
AcceptEnv LANG LC_* TZ
クライアントの/etc/ssh/ssh_config
または~/.ssh/config
で、必ずTZ
変数を送信します。
SendEnv TZ
(デフォルトでは通常、クライアントから何も送信せず、サーバーでは何も受け入れません。)
次に、ssh
コマンドのエイリアスを作成し、TZ
セッションで現在のssh
を使用します。次の行を.bashrc
ファイルに追加します。
alias ssh='TZ=${TZ:-"$(cat /etc/timezone)"} ssh'
または、システムに/etc/timezone
がない場合に使用します。
alias ssh='TZ=${TZ:-"$(date +%Z)"} ssh'
次に、リモートサーバーにssh
するたびに、サーバーの時刻がローカルタイムゾーンに基づいて表示されます。