Um perfil do Gnome Terminal pode usar o UTF-8 por padrão?

19

Estou em um sistema Ubuntu (eu acho). Eu não tenho raiz, por isso não posso alterar a localidade. Eu quero fazer o meu perfil de terminal padrão usar UTF-8 por padrão. Deve haver uma maneira de fazer isso, seja no diretório .gconf/apps/gnome-terminal/ em algum lugar ou em uma variável de ambiente, ou algo assim. No entanto, não consigo encontrá-lo.

Edite com mais detalhes:

Em um terminal, tenho:

grid-unv55$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal

Quando tentar mais um documento UTF nesse novo terminal, recebo:

\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd

Que aparece na minha tela como pontos. (os uffds eram um corte e um colar. Eu deixei o "\ noise: bgspeech" lá para que você pudesse ver que os ascii cortavam e colavam corretamente)

    
por Brian Postow 08.03.2011 / 21:10

6 respostas

12

Eu acredito que o gnome-terminal vai funcionar com o UTF-8 e está habilitado no shell, então tudo que você precisa fazer é habilitar esse . Coloque

export LANG=en_US.UTF-8

em ~/.bashrc e lá vai você.

EDITAR:

Ok, a resposta é atualmente você não pode definir isso . O terminal Gnome segue a configuração LANG do ambiente atual e usa a codificação para isso como padrão. Então você precisa fazer com que o LANG contenha UTF-8 antes que gnome-terminal seja iniciado. Definir isso em ~/.bashrc deve fazê-lo - você só precisa fazer logout e logar novamente.

(Note que é realmente melhor colocar isso em ~/.bash_profile , então você pode substituí-lo por subshells, mas não tenho certeza se o bash é necessariamente executado como um shell de login como parte da configuração do ambiente do Gnome. teste ....)

    
por 08.03.2011 / 21:14
9

Você pode definir a localidade para gnome-terminal com o seguinte comando, em que Default é o nome do perfil.

gconftool --set --type=string /apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8
    
por 27.05.2014 / 14:59
7

Eu tive um problema parecido, e ao definir LANG em .bash_profile não deu certo, descobri que no Gnome, a localidade padrão pode ser definida no início de uma sessão na tela de login do GDM . Isso pode ser feito sem acesso root.

    
por 23.11.2012 / 13:01
3

Acabei de verificar em menu->terminal->set character encoding é utf-8

O terminal e o bash não são a mesma coisa.

Eu começaria fazendo cat utf-8-file (cat e bash passarão este arquivo inalterado para o terminal, (bem na verdade, stty irá converter newline para carrage return, newline etc.)) se isso exibir o arquivo corretamente então O gnome-terminal é configurado. (Até agora, isso é tudo que eu já fiz, já que uso o utf-8 em inglês; ele já foi instalado no Ubuntu 10.10 e no Debian 6 para mim). Então só para configurar bash etc.

Relendo ~ / .bashrc

Se você editar ~/.bashrc , você deve relê-lo novamente . ~/.bashrc (ou iniciar um novo shell) (não esqueça o ponto)

    
por 09.03.2011 / 00:02
3

Eu tive um problema agora que consertei que pode ser relevante para os recém-chegados com versões mais recentes do GNOME (e do gnome-terminal):

Para qualquer codificação de texto que você queira usar, o shell (por exemplo, bash) e o emulador de terminal (por exemplo, gnome-terminal) devem usar a mesma codificação. Então, por exemplo, se o shell usar en_US.utf8 e o emulador de terminal usar en_US.ISO-8859-1 (a.k.a. latin1 ), você verá um texto estranho no seu terminal para qualquer programa com saída UTF-8.

Agora, não consigo definir a codificação no login, como sugeri que seria possível. Isso pode ser devido ao fato de termos uma versão mais antiga do GDM aqui no trabalho. É por isso que precisei de uma solução diferente.

De qualquer forma, o GNOME 3 parece não originar automaticamente .bashrc nem .profile no login. Mas ele fonte .gnomerc , no qual você pode colocar variáveis de ambiente que serão exportadas para programas do GNOME (até onde eu saiba).

Colocar export LANG="en_US.utf8" em .gnomerc inicia o gnome-terminal usando uma codificação UTF-8 por padrão, quando uma nova instância é iniciada. (Mude sua localidade de acordo com suas necessidades.)

Espero que isso tenha sido útil para alguém!

    
por 08.11.2013 / 15:57
-1

Como mencionado por outros usuários, diga ao shell qual codificação você está usando com

export LANG=en_US.UTF-8

Coloque isso em .bashrc e gnome-terminal deve pegá-lo no próximo login.

Defina rapidamente a codificação do gnome-terminal: Barra de menus > Terminal > Definir codificação de caracteres

Defina a codificação padrão permanentemente: gconf-editor > Apps > gnome-terminal > Perfis > Padrão > codificação > utf-8

    
por 12.11.2014 / 01:15