Alterar formato de hora para uma aplicação específica

4

Eu quero usar uma localidade específica para algum aplicativo, mas não para o restante do meu sistema. Como faço isso?

    
por UTF-8 07.09.2017 / 02:04

2 respostas

6

parte teórica

Você pode alterar o local ou apenas partes dele para um processo específico antes de criá-lo alterando seu ambiente.

Confira lançando gnome-calculator via

env LC_NUMERIC=de_DE.UTF-8 gnome-calculator

se você usa um período como ponto decimal e via

env LC_NUMERIC=en_IE.UTF-8 gnome-calculator

se você usa atualmente uma vírgula como ponto decimal.

O processo gnome-calculator usará a localidade declarada antes de sua chamada.

Observe que isso não persiste se você fechar o aplicativo e abri-lo via Dash ou apenas chamar gnome-calculator em um terminal. Na verdade, é específico do processo e você pode usar várias instâncias de gnome-calculator , algumas delas usando períodos e algumas delas usando vírgulas como seus pontos decimais. Confira executando gnome-calculator em um terminal diferente. Ele usará suas configurações normais.

Encontrando o local correto

Você não precisa encontrar uma única localidade que corresponda às suas necessidades para tudo. Em vez disso, é suficiente encontrar um que corresponda ao que você deseja em uma categoria de localização específica. Aqui, nos preocupamos apenas com o formato de hora que pode ser alterado manipulando a variável de ambiente LC_TIME .

Você provavelmente está interessado no formato de horário internacional ( ISO 8601 ) ou no formato de horário de alguns países dos quais Você sabe o formato da hora. Para o primeiro, use en_DK.UTF-8 . Para o último, use a abreviação de 2 letras do idioma em letras minúsculas, um sublinhado, a abreviação de 2 letras para o município em letras maiúsculas e, em seguida, .UTF-8 . Por exemplo, en_IE.UTF-8 é inglês irlandês, de_DE.UTF-8 é alemão alemão, de_CH.UTF-8 é alemão suíço e fr_CH.UTF-8 é francês suíço.

Parte prática

Agora que você aprendeu um pouco sobre o quão legal o Linux é, vamos para a parte prática.

Você provavelmente inicia seu aplicativo por meio do Dash. Se você fizer isso, use um arquivo da área de trabalho. Encontre o seu arquivo de área de trabalho. Está em /usr/share/applications ou em ~/.local/share/applications . O primeiro é todo o sistema, o último é específico do usuário.

Vou usar o Firefox como o aplicativo de exemplo. O arquivo da área de trabalho é /usr/share/applications/firefox.desktop .

Depois de encontrar o arquivo da área de trabalho que você deseja manipular, copie-o para a pasta de arquivos da área de trabalho do usuário:

cp /usr/share/applications/firefox.desktop ~/.local/share/applications

Agora você pode manipular a cópia de forma que suas alterações afetem apenas a versão local do usuário.

Abra em um editor de texto. Não importa se você usa uma linha de comando ou gráfica. O Ubuntu normal vem com o GEdit como editor de texto gráfico padrão:

gedit ~/.local/share/applications/firefox.desktop

Se não funcionar porque você usa um sabor do Ubuntu que não vem com o GEdit, use apenas nano :

nano ~/.local/share/applications/firefox.desktop

Encontre a linha que começa com Exec= . Para o Firefox, é Exec=firefox %u . Em seguida, pegue o que vier depois de Exec= e coloque-o nesse formato com a localidade desejada, em vez de en_DK.UTF-8 :

Exec=env LC_TIME=en_DK.UTF-8 firefox %u

É claro que você precisa substituir en_DK.UTF-8 pelo local que deseja usar.

Salve o arquivo.

Depois de fazer as alterações, você precisa tornar o arquivo da área de trabalho executável. O arquivo que você copiou era executável, mas essa propriedade não é copiada, portanto, é necessário configurá-lo novamente para o novo arquivo. Faça isso, execute este comando:

chmod +x ~/.local/share/applications/firefox.desktop

Agora, reinicie seu aplicativo.

O Dash geralmente atualiza os arquivos da área de trabalho automaticamente, mas em sistemas lentos, pode demorar um pouco. Ou pelo menos fez em alguma versão. Se não funcionar instantaneamente, saia e volte a entrar.

    
por UTF-8 07.09.2017 / 02:04
1

Eu prefiro um script de shell wrapper para fazer isso. Primeiro crie o script com um editor de texto de sua escolha. Exemplo de script:

$ cat ~/bin/firefox
#!/bin/sh
export LC_TIME=en_DK.UTF-8
exec /usr/bin/firefox $@

Em seguida, torne-o executável:

chmod +x ~/bin/firefox

Vantagens com este método:

  • Nenhuma cópia local do arquivo .desktop que substituiria as possíveis alterações no arquivo .desktop original quando o pacote for atualizado.
  • Funciona ao iniciar o aplicativo a partir do ambiente gráfico e ao iniciá-lo a partir do terminal.
por Gunnar Hjalmarsson 09.09.2017 / 00:25

Tags