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.