Ich weiß, dass man (zum Beispiel in Debian) dpkg-reconfigure tzdata
die Zeitzone des Systems ändern könnte , aber ich frage mich, wie man die Zeitzone des Benutzers ändern könnte (wenn Linux / Unix eine solche Idee überhaupt unterstützt).
Normalerweise arbeite ich über ssh remote auf dem Server. Da der Server intern mit UTC arbeitet (Dateien, ...) und die Zeitzonen eher oberflächlich sind, möchte ich die Zeiten in meiner gewünschten Zeitzone sehen, je nachdem, von wo aus ich eine Verbindung herstelle. Ist das möglich?
ssh
not-root-user
timezone
Scherz
quelle
quelle
Antworten:
Verwenden Sie die
TZ
Umgebungsvariable. Z.B:Die möglichen Werte für
TZ
befinden sich im Verzeichnis/usr/share/zoneinfo
(siehe zum Beispiel das Vorhandensein von/usr/share/zoneinfo/US/Pacific
)quelle
date
gibt eine andere Zeit-Zose und Zeit alsuname -a
. Warum sollte das so sein?Zunächst benötigen Sie einige Konfigurationen für den SSH-Server und den SSH-Client.
/etc/ssh/sshd_config
Stellen Sie in Server in sicher, dass Sie dieTZ
Variable akzeptieren :Stellen Sie im Client in
/etc/ssh/ssh_config
oder~/.ssh/config
sicher, dass Sie dieTZ
Variable senden :(Die Standardeinstellungen sind normalerweise, keine vom Client zu senden und keine auf dem Server zu akzeptieren.)
Dann machen Sie Alias für
ssh
Befehl Ihrer aktuellen verwendenTZ
inssh
Sitzung. Fügen Sie diese Zeile zur.bashrc
Datei hinzu:oder verwenden Sie dies für System hat nicht
/etc/timezone
:Jedes Mal, wenn Sie
ssh
zum Remote-Server wechseln, wird die Zeit auf dem Server basierend auf Ihrer lokalen Zeitzone angezeigt.quelle
TZ=$(date +%Z)
mit den meisten aktuellen Versionen (Linux / * BSD / Solaris) verwenden. Dies funktioniert besser auf Systemen, auf denen dies/etc/timezone
nicht der Fall ist.