Come modificare il fuso orario dell'utente?


11

So che (ad esempio in Debian) si potrebbe usare dpkg-reconfigure tzdataper cambiare il fuso orario del sistema, ma mi chiedo come si possa cambiare il fuso orario dell'utente (se Linux / Unix supporta affatto tale idea).

Normalmente lavoro sul server da remoto tramite ssh e dato che il server funziona internamente con UTC (file, ...) e che i fusi orari sono piuttosto superficiali, vorrei vedere i tempi nel mio fuso orario desiderato a seconda di dove mi sto collegando. È possibile?


Cosa hai provato Hai persino cercato "ssh passando informazioni TZ" sul web?
Anthon,

Risposte:


13

Usa la TZvariabile d'ambiente. Per esempio:

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

I possibili valori per TZsono nella directory /usr/share/zoneinfo(vedere, ad esempio, l'esistenza di /usr/share/zoneinfo/US/Pacific)


Nel mio caso, datedà un time-zose e un tempo diversi rispetto a uname -a. Perché dovrebbe essere?
Geremia,

8

Innanzitutto, hai bisogno di alcune configurazioni per il server ssh e il client ssh.

In Server, in /etc/ssh/sshd_config, assicurati di accettare la TZvariabile:

AcceptEnv LANG LC_* TZ

In Client, in /etc/ssh/ssh_configo ~/.ssh/config, assicurati di inviare la TZvariabile:

SendEnv TZ

(I valori predefiniti in genere sono l'invio di nessuno dal client e l'accettazione di nessuno sul server.)

Quindi crea un alias per il sshcomando per utilizzare il tuo attuale TZnella sshsessione. Aggiungi questa riga al .bashrcfile:

alias ssh='TZ=${TZ:-"$(cat /etc/timezone)"} ssh'

o usalo per il sistema non ha /etc/timezone:

alias ssh='TZ=${TZ:-"$(date +%Z)"} ssh'

Quindi ogni volta che si sshpassa al server remoto, l'ora sul server visualizzerà la base sul fuso orario locale.


Puoi anche usarlo TZ=$(date +%Z)con la maggior parte delle versioni (Linux / * BSD / Solaris) di oggi, funzionerà meglio su sistemi dove /etc/timezonenon è fatto.
mr.spuratic

Promemoria amichevole. Ricorda di riavviare sshd per rendere effettive le modifiche. Su Ubuntu "service ssh restart"
cavalcade il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.