Debian

Compreendendo as localidades no Debian GNU / Linux

Compreendendo as localidades no Debian GNU / Linux
Cada sistema de computador vem com sua configuração específica em relação ao idioma do sistema e codificação de caracteres que está em uso. Com base nesta configuração, as mensagens de erro, o sistema de ajuda e o feedback do programa são exibidos na tela.

Em sistemas UNIX / Linux, esta configuração é chamada de locales POSIX [7] e padronizada como IEEE Std 1003.1-2017 [3]. Essa localidade pode variar para o sistema como um todo e as contas de usuário único, pois cada usuário pode individualizar seu ambiente de trabalho. Neste artigo iremos explicar a você como descobrir a configuração local atual no Debian GNU / Linux, para entender seus parafusos de ajuste simples e como adaptar o sistema às suas necessidades.

Note que este artigo foi feito para o Debian GNU / Linux Release 10 “Buster”. Salvo indicação em contrário, as técnicas descritas aqui também funcionam para seus derivados, como Ubuntu ou Linux Mint [8].

O que é um local?

De um modo geral, um local é um conjunto de valores que refletem a natureza e as convenções de um país ou cultura. Entre outros, esses valores são armazenados como variáveis ​​de ambiente que representam o idioma, a codificação de caracteres, a formatação de data e hora, o tamanho padrão do papel, a moeda do país, bem como o primeiro dia da semana.

Conforme mencionado antes, há uma configuração geral conhecida como 'localidade padrão' e uma configuração definida pelo usuário. A localidade padrão funciona em todo o sistema e é armazenada no arquivo / etc / default / locale. A Listagem 1 exibe a localidade padrão em um Debian GNU / Linux usando alemão como idioma principal e unicode de 8 bits (UTF-8) como conjunto de caracteres [11].

Listagem 1: O local padrão em um Debian GNU / Linux alemão

$ cat / etc / default / locale # Arquivo gerado por update-locale LANG = “de_DE.UTF-8 ”$ --

Observe que, em contraste com o Debian GNU / Linux, em algumas versões anteriores do Ubuntu, a configuração local do sistema é armazenada em / etc / locale.conf.

As configurações definidas pelo usuário são armazenadas como um arquivo oculto em seu diretório inicial, e os arquivos reais que são avaliados dependem do shell de login que você usa [6]. O shell Bourne tradicional (/ bin / sh) [4] lê os dois arquivos / etc / profile e ~ /.perfil, enquanto o shell Bourne-Again (Bash) (/ bin / bash) [5] lê / etc / profile e ~ /.bash_profile. Se o seu shell de login for Z shell (/ bin / zsh) [9], os dois arquivos ~ /.zprofile e ~ /.zlogin são lidos, mas não ~ /.perfil, a menos que seja invocado no modo de emulação de shell Bourne [10].

Iniciar um shell em um terminal em uma sessão existente resulta em um shell interativo sem login. Isso pode resultar na leitura dos seguintes arquivos - ~ /.bashrc para Bash e / etc / zshrc, bem como ~ /.zshrc para Z shell [6].

Nomeando uma localidade

Conforme explicado aqui [12], o nome de uma localidade segue um padrão específico. O padrão consiste em códigos de idioma, codificação de caracteres e a descrição de uma variante selecionada.

Um nome começa com um código de idioma de duas letras ISO 639-1 [13] ou um código de idioma de três letras ISO 639-2 [14] se o idioma não tiver um código de duas letras. Por exemplo, é de para alemão, fr para francês e cel para celta. O código é seguido para muitos, mas não todos os idiomas, por um sublinhado _ e por um código de país de duas letras maiúsculas ISO 3166 [15]. Por exemplo, isso leva a de_CH para suíço-alemão e fr_CA para um sistema de língua francesa para um usuário canadense provavelmente localizado em Quebec.

Opcionalmente, um ponto . segue o nome da codificação de caracteres, como UTF-8 ou ISO-8859-1, e o sinal @ seguido pelo nome de uma variante. Por exemplo, o nome [e-mail protegido] descreve a configuração de um sistema em inglês para a Irlanda com codificação de caracteres UTF-8 e o euro como o símbolo da moeda.

Comandos e Ferramentas

O número de comandos relacionados a localidades é relativamente baixo. A lista contém localidade que exibe puramente as configurações de localidade atuais. O segundo é o localectl que pode ser usado para consultar e alterar a localidade do sistema e as configurações de layout do teclado. Para ativar um locale as ferramentas dpkg-reconfigure e locale-gen entram em jogo - veja o exemplo abaixo.

Mostra o local que está em uso

A primeira etapa é descobrir a localidade atual em seu sistema usando o comando locale da seguinte maneira:

Listagem 2: mostra o local atual

$ locale LANG = de_DE.UTF-8 LANGUAGE = LC_CTYPE = “de_DE.UTF-8 ”LC_NUMERIC =“ de_DE.UTF-8 ”
LC_TIME = “de_DE.UTF-8 ”LC_COLLATE =“ de_DE.UTF-8 ”LC_MONETARY =“ de_DE.UTF-8 ”
LC_MESSAGES = “de_DE.UTF-8 ”LC_PAPER =“ de_DE.UTF-8 ”LC_NAME =“ de_DE.UTF-8 ”
LC_ADDRESS = “de_DE.UTF-8 ”LC_TELEPHONE =“ de_DE.UTF-8 ”LC_MEASUREMENT =“ de_DE.UTF-8 ”
LC_IDENTIFICATION = “de_DE.UTF-8 ”LC_ALL = $ --

Por favor, note que outras distribuições Linux além do Debian GNU / Linux podem usar variáveis ​​de ambiente adicionais não listadas acima. As variáveis ​​individuais têm o seguinte significado:

Listar localidades disponíveis

Em seguida, você pode listar as localidades disponíveis em seu sistema usando o comando locale acompanhado por sua opção -a. -a é a abreviação de -all-locales:

Listagem 3: Mostrar localidades disponíveis

$ locale -a C C.UTF-8 de_DE @ euro de_DE.utf8 en_US.utf8 POSIX $ --

A Listagem 3 contém duas configurações de localidade para alemão (Alemanha) e inglês (EUA). As três entradas C, C.UTF-8 e POSIX são sinônimos e representam as configurações padrão apropriadas para dados que são analisados ​​por um programa de computador. A saída na Listagem 3 é baseada na lista de localidades com suporte armazenadas em / usr / share / i18n / SUPPORTED.

Além disso, adicionar a opção -v (abreviação de -verbose) à chamada leva a uma saída muito mais extensa que inclui os metadados LC_IDENTIFICATION sobre cada local. A Figura 1 mostra isso para a chamada da Listagem 3.

Para ver quais localidades já existem e quais precisam de mais ajuda para serem concluídas, você também pode dar uma olhada no mapa do Locale Helper Project [20]. Os marcadores vermelhos mostram claramente quais locais estão inacabados. A Figura 2 mostra as localidades da África do Sul que parecem bastante completas.

Mostrar mapas de personagens disponíveis

O comando locale vem com a opção -m que é abreviação de -charmaps. A saída mostra os mapas de caracteres disponíveis ou arquivos de descrição do conjunto de caracteres [16]. Tal arquivo se destina a "definir características para o conjunto de caracteres codificados e a codificação para os caracteres especificados no Conjunto de caracteres portáteis, e pode definir a codificação para caracteres adicionais suportados pela implementação" [16]. A Listagem 4 ilustra isso com um extrato de toda a lista.

Listagem 4: Arquivos de descrição do conjunto de caracteres

$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS… $ --

Mostra as definições das variáveis ​​locais

Cada variável usada para uma localidade vem com sua própria definição. Usando a opção -k (abreviação de -keyword-name), o comando locale exibe esta configuração em detalhes. A Listagem 5 ilustra isso para a variável LC_TELEPHONE conforme é definida em um ambiente alemão - o formato do número do telefone, o formato do telefone doméstico, o código de seleção internacional, bem como o código do país (prefixo internacional) e o conjunto de códigos. Veja o Locale Helper Project [20] para uma descrição detalhada dos valores.

Listagem 5: Os detalhes de LC_TELEPHONE

$ locale -k LC_TELEPHONE tel_int_fmt = “+% c% a% l” tel_dom_fmt = “% A% l”
int_select = “00” int_prefix = “49” phone-codeset = “UTF-8” $ --

Alterando o local atual

O conhecimento sobre a localidade torna-se necessário assim que você executa um sistema que vem com uma localidade diferente da que está acostumado - por exemplo, em um sistema Linux live. A alteração da localidade pode ser feita de duas maneiras - reconfigurando o pacote Debian locales [19], e adicionando a localidade necessária usando o comando locale-gen. Para a opção um, executar o seguinte comando abre uma caixa de diálogo de configuração baseada em texto mostrada na Figura 3:

# dpkg-reconfigure locales

Pressione a barra de espaço para escolher o (s) local (is) desejado (s) na lista mostrada na caixa de diálogo e escolha “OK” para confirmar sua seleção. A próxima janela de diálogo oferece uma lista de localidades que estão disponíveis para a localidade padrão. Selecione o desejado e escolha “OK”. Agora, os arquivos de localidade de acordo são gerados, e a localidade previamente selecionada é definida para o seu sistema.

Para a opção dois, a geração do local desejado é feita com a ajuda do comando locale-gen. A Listagem 6 ilustra isso para uma configuração em francês:

Listagem 6: Gerando uma localidade francesa

locale-gen fr_FR.UTF-8
Gerando localidades… fr_FR.UTF-8 ... concluído Geração concluída. # --

Para usar a localidade gerada anteriormente como padrão, execute o comando na Listagem 7 para configurá-la corretamente:

Listagem 7: Configurando manualmente a localidade

# update-locale LANG = fr_FR.UTF-8

Assim que você abre uma nova sessão de terminal, ou re-login em seu sistema, as mudanças são ativadas.

Compilar um arquivo de definição de localidade

O comando localectl ajuda a compilar manualmente um arquivo de definição de localidade. Para criar uma configuração em francês, execute o seguinte comando:

Listagem 8: Compile uma definição de localidade

# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8

Conclusão

Compreender as localidades pode demorar um pouco, pois é uma configuração que é influenciada por vários fatores. Explicamos como descobrir sua localidade atual e como alterá-la adequadamente. Adaptar o sistema Linux às suas necessidades deve ser muito mais fácil para você de agora em diante.

Links e referências
Ferramentas úteis para jogadores de Linux
Se você gosta de jogar no Linux, é provável que tenha usado aplicativos e utilitários como Wine, Lutris e OBS Studio para melhorar a experiência de jo...
Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...
Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...