Como alterar o fuso horário do usuário?

11

Eu sei que (por exemplo, no Debian) alguém poderia usar dpkg-reconfigure tzdatapara alterar o fuso horário do sistema, mas estou imaginando como alguém poderia alterar o fuso horário do usuário (se o Linux / Unix suportar essa ideia).

Normalmente trabalho no servidor remotamente através do ssh e, como o servidor trabalha com o UTC internamente (arquivos, ...) e os fusos horários são superficiais, gostaria de ver os horários no fuso horário desejado, dependendo de onde estou me conectando. Isso é possível?

Loax
fonte
O que você tentou? Você sequer pesquisou "ssh passando informações da TZ" na Web?
Anthon

Respostas:

13

Use a TZvariável de ambiente Por exemplo:

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

Os valores possíveis para TZestão no diretório /usr/share/zoneinfo(consulte, por exemplo, a existência de /usr/share/zoneinfo/US/Pacific)

samiam
fonte
No meu caso, datedá um tempo e tempo diferentes do que uname -a. Por que isso seria?
Geremia
8

Primeiro, você precisa de algumas configurações para o servidor ssh e o cliente ssh.

No servidor, em /etc/ssh/sshd_config, certifique-se de aceitar a TZvariável:

AcceptEnv LANG LC_* TZ

No cliente, em /etc/ssh/ssh_configou ~/.ssh/config, certifique-se de enviar a TZvariável:

SendEnv TZ

(Os padrões geralmente não enviam nenhum do cliente e não aceitam nenhum no servidor.)

Em seguida, crie um alias para o sshcomando usar sua corrente TZna sshsessão. Adicione esta linha ao .bashrcarquivo:

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

ou use isso para o sistema não possui /etc/timezone:

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

Então, toda vez que você sshacessar o servidor remoto, a hora no servidor será exibida com base no fuso horário local.

cuonglm
fonte
Você também pode usar TZ=$(date +%Z)com a maioria das versões (Linux / * BSD / Solaris) da data, isso funcionará melhor em sistemas onde /etc/timezonenão está feito.
mr.spuratic
Lembrete amigável. Lembre-se de reiniciar o sshd para que as alterações entrem em vigor. No ubuntu "service ssh restart"
cavalcade 22/02