GNU / Linux: fuso horário para um usuário específico

Às vezes, temos uma conta no sistema operacional GNU / Linux que está localizado em um fuso horário diferente e sua configuração TZ em todo o sistema não reflete nossa realidade.

√Č poss√≠vel ter diferentes configura√ß√Ķes de fuso hor√°rio para um processo e todos os processos que s√£o seus descendentes. Esse processo pode ser um shell de login.

Para configurar um fuso hor√°rio diferente, basta editar o ~/.bashrcarquivo e adicionar o seguinte:

TZ="/usr/share/zoneinfo/CONTINENT/CITY"
export TZ

substituindo CONTINENTe CITYcom valores preferenciais, por exemplo:

TZ="/usr/share/zoneinfo/Europe/Warsaw"
export TZ

Para confirmar as altera√ß√Ķes imediatamente, fa√ßa:
source ~/.bashrcou. ~/.bashrc

Essa configura√ß√£o ter√° efeito em qualquer processo Bash executado por voc√™, mesmo n√£o interativo. Se voc√™ deseja que apenas o shell interativo use configura√ß√Ķes de fuso hor√°rio diferentes, voc√™ deve editar arquivos diferentes, por exemplo, ~/.bash_profilepara Bash ou ~/.profilepara shells compat√≠veis com POSIX.

Para garantir manualmente que as altera√ß√Ķes sejam feitas apenas para processos shell de login, voc√™ pode adicionar uma condi√ß√£o simples em torno de:

if [ "$PS1" ]; then
TZ
="/usr/share/zoneinfo/Europe/Warsaw"
export TZ
fi

Antes de aplicar essas instru√ß√Ķes, verifique se o diret√≥rio /usr/share/zoneinfocont√©m arquivos e diret√≥rios adequados. Caso contr√°rio, pe√ßa ao administrador do sistema para instalar o tzdatapacote.