No Fedora 30, atualmente estou exibindo a data no formato de 24 horas no ambiente de desktop. Estou sincronizando o tempo via chronyd. Mas na CLI, a hora está sendo exibida como Fri 22 Nov 2019 02:47:51 PM EST
para todos os usuários.
Quero definir o formato da hora para usar o relógio de 24 horas. timedatectl
configuração e re-log como o usuário não faz nenhuma diferença.
Se você usar o
date
comando na linha de comando e receber algo comoFri 22 Nov 2019 02:47:51 PM EST
, significa que suas configurações de localidade estão atualmente definidas para uma localidade que especifica um formato de 12 horas.Digite
locale
para exibir as configurações de localidade atuais. Basicamente, todas as configurações de localidade são apenas variáveis de ambiente, mas existem algumas dependências entre elas.A lógica das configurações de localidade é a seguinte:
Primeiro, a
LANG
variável definirá a localidade padrão para todas asLC_*
categorias de localidade , a menos que haja uma configuração mais específica para uma determinada categoria.Cada categoria de localidade tem um nome, como
LC_CTYPE
para o conjunto de caracteres que está sendo usado,LC_COLLATE
para a ordem de classificação eLC_TIME
para a representação de data e hora. Se existir uma variável de ambiente correspondente ao nome da categoria de localidade, ela substituirá o padrão definido porLANG
.Finalmente, há uma substituição final
LC_ALL
. Se estiver definido, ele substituirá todas as outras configurações de localidade. Normalmente é usado em scripts ou similar comoexport LC_ALL=C
, para garantir que a saída de qualquer comando usado pelo script esteja no formato POSIX padrão em inglês dos EUA, em vez de qualquer formato localizado que possa dificultar a análise da saída. (É claro que analisar a saída destinada a humanos em um script é uma escolha não ideal em primeiro lugar - se um comando tiver uma opção de "saída amigável ao script", você deve usá-la!)Historicamente, no RedHat/Fedora, as configurações de localidade padrão do sistema devem estar no
/etc/sysconfig/i18n
arquivo (i18n = internationali[s|z]ation, 18 caracteres entre i e n). Nas versões modernas, deve haver umlocalectl
comando que você possa usar para consultar e modificar as configurações de localidade e layout do teclado de forma persistente. Observe que as configurações de variáveis de ambiente sempre podem ser usadas para substituir os padrões de localidade em todo o sistema!en_US.UTF-8
Se você estiver usando a localidade padrão ,en_GB.UTF-8
seria o equivalente mais próximo com representação de 24 horas. Para configurá-lo, use:Em seguida, saia e faça login novamente para que a alteração entre em vigor em sua sessão.
Se você usar algum outro código de idioma, use
localectl list-locales
para ver as definições de código de idioma disponíveis.Se não tiver certeza, você pode testar a saída especificando a localidade desejada como uma variável de ambiente para o
date
comando: