Problemas com umlauts (não consigo digitar no terminal + não consigo abrir arquivos)

3

No meu laptop eu tenho Linux Mint 18.3 instalado e agora estou com o seguinte problema:
Como um alemão, por acaso tenho alguns arquivos (ou diretórios) que contêm umlauts em seus nomes (o que em si não é o problema). Se eu tentar abrir esses arquivos (por exemplo, PDFs) que contêm um trema ou estão localizados em um (sub) diretório cujo nome contenha um trema, ele não será aberto.

Por exemplo, eu tenho um diretório chamado Übungsblätter e em algum lugar nesse diretório eu tenho alguns arquivos PDF. Se eu tentar abrir um desses arquivos no gerenciador de arquivos, o Okular me dirá que não é possível abrir .../Ãbungsblätter/... , o que me mostra que ele atrapalhou o caminho, substituindo os umlauts por alguns caracteres estranhos.

No entanto, se eu tiver o Okular aberto e usar o menu para abrir o respectivo arquivo, tudo funciona como um encanto, então o problema ocorre apenas ao tentar abrir os arquivos do meu gerenciador de arquivos (Dolphin).

Além disso, eu senti que não posso digitar umlauts no meu terminal. Eu encontrei esta questão lidando com esse problema específico e Eu esperava que isso também corrigisse o problema dos arquivos. No entanto, esse não era o caso, embora agora eu seja capaz de digitar umlauts no terminal (embora ao digitar um trema, ele irá inserir dois caracteres. Por exemplo, ao digitar ö , ele inserirá os dois caracteres \udcc3\udcb6 (encontrado) digitando ö e retornando depois.) Ele é exibido como um único ö , mas tenho que excluir explicitamente dois caracteres para que a linha de comando fique vazia novamente.

Aqui está a saída de locale :

locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de_DE.UTF-8
LANGUAGE=en_US
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=nds_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=

EDIT:
Acabei de descobrir que ao abrir o respectivo PDF a partir do terminal ele também irá apresentar um erro semelhante ao abrir no gerenciador de arquivos, mas desta vez ele diz que não pode abrir .../bungsbltter/... (Remove completamente o umlauts)

EDIT2:
Saída de locale -a :

C
C.UTF-8
de_DE.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

EDIT 3: /etc/default/locale :

LANGUAGE=en_GB.utf8
LANG=en_US.UTF-8
    
por Raven 22.02.2018 / 16:56

1 resposta

2

Eu vejo alguma confusão nas configurações de localidade.

Um ponto é: uma mistura de de_DE , en_US e en_GB .

O outro ponto é: algumas localidades são declaradas com .utf8 , outras com .UTF-8 . Embora deva significar o mesmo, pode causar problemas.

A mensagem de erro Cannot set LC_ALL to default locale: No such file or directory é provavelmente devido à falta de en_US.UTF-8 em locale -a (que tem en_US.utf8 ), mas é declarada em /etc/default/locale .

Estou um pouco confuso por ver LANG=de_DE.UTF-8 na saída de locale , embora não esteja definido em /etc/default/locale e não haja /etc/locale.conf . Talvez uma configuração do ambiente de área de trabalho que sobrescreve as configurações do sistema? Ou em ~/.bashrc ? Além disso, verifique se você tem um ~/.config/locale.conf . Mais locais possíveis onde variáveis de ambiente podem ser definidas estão listados em Arch wiki . Descubra onde LANG=de_DE.UTF-8 está definido e remova isso.

Acho que a melhor maneira é definir tudo para locais alemães. Seu locale -a mostra localidades instaladas em seu sistema. Um deles é de_DE.utf8 .

A configuração principal está em /etc/default/locale . Você pode editar isso manualmente e acho que seu conteúdo deve ser apenas LANG=de_DE.utf8 e nada mais. Você pode editar o arquivo sozinho ou usar uma ferramenta para isso:

update-locale --reset LANG=de_DE.utf8

Para manter o sistema em inglês, mas também com umlauts, pode ser útil definir a localidade como en_US.utf8 listada em locale -a . utf8 deve fornecer os umlauts, mesmo que a linguagem não os use:

update-locale --reset LANG=en_US.utf8

Fale uma oração, reinicie e verifique se está tudo certo. Se o console funcionar bem, mas ainda houver algo errado no ambiente de área de trabalho, verifique a GUI de configurações da área de trabalho para entradas de idioma e defina também como de_DE.utf8 .

    
por 23.02.2018 / 13:22