Estou em um sistema Ubuntu (eu acho). Eu não têm raiz, por isso não posso alterar a localidade. Desejo que meu perfil de terminal padrão use UTF-8 por padrão. Deve haver uma maneira de fazer isso, no .gconf/apps/gnome-terminal/
diretório em algum lugar ou em uma variável de ambiente ou algo assim. No entanto, parece que não consigo encontrá-lo.
Edite com mais detalhes:
Em um terminal, eu 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 tento 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 recortados e colados. Deixei o "\ noise: bgspeech" lá para que você pudesse ver que os ascii eram recortados e colados corretamente)
~/.profile
- not~/.bashrc
, e também não~/.bash_profile
.Você pode definir o código do idioma
gnome-terminal
com o seguinte comando, ondeDefault
é o nome do perfil.fonte
LANG=en_US.UTF-8
no.bashrc
e reiniciarEu tive um problema semelhante, e ao definir
LANG
em.bash_profile
não fazer o truque, eu descobri que no Gnome, a localidade padrão pode ser definido no início de uma sessão de tela de login GDM. Isso pode ser feito sem acesso root.fonte
Acabei de fazer o check-in
menu->terminal->set character encoding
é utf-8O terminal e o bash não são a mesma coisa.
Eu começaria fazendo
cat utf-8-file
(cat e bash passarão esse arquivo inalterado para o terminal (na verdade, para stty, stty converterá nova linha em retorno de carrage, nova linha etc.)) se isso exibir o arquivo corretamente, então o gnome-terminal está configurado. (Até agora, é tudo o que eu já fiz, pois uso o utf-8 em inglês; ele já foi configurado no Ubuntu 10.10 e Debian 6 para mim). Então, apenas para configurar o bash etc.Relendo ~ / .bashrc
Se você editar,
~/.bashrc
você deve relê-lo. ~/.bashrc
(ou iniciar um novo shell) (não esqueça o ponto)fonte
Eu tive um problema agora que corrigi que pode ser relevante para os novatos com versões mais recentes do GNOME (e do gnome-terminal):
Para qualquer codificação de texto que você deseja usar, o shell (por exemplo, bash) e o emulador de terminal (por exemplo, gnome-terminal) devem usar a mesma codificação. Por exemplo, se o shell usa
en_US.utf8
e o emulador de terminal usaen_US.ISO-8859-1
(akalatin1
), 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 já vi sugerido, seria possível. Isso pode ser devido ao fato de termos uma versão mais antiga do GDM aqui no trabalho. É por isso que eu precisava de uma solução diferente.
De qualquer forma, o GNOME 3 não parece ter origem
.bashrc
ou.profile
login automaticamente . Mas é fonte.gnomerc
, na qual você pode colocar variáveis de ambiente que serão exportadas para os programas GNOME (tanto quanto eu sei).Colocando
export LANG="en_US.utf8"
em.gnomerc
assim começa gnome-terminal usando uma codificação UTF-8 por padrão, quando uma nova instância é iniciada. (Altere seu código do idioma de acordo com suas necessidades.)Espero que isso tenha sido útil para alguém!
fonte
Conforme mencionado por outros usuários, informe ao shell qual codificação você está usando com
Coloque isso em .bashrc e o gnome-terminal deve buscá-lo no próximo login.
Defina a codificação para o terminal gnome rapidamente : Barra de menus> Terminal> Definir codificação de caracteres
Defina a codificação padrão permanentemente: gconf-editor> Aplicativos> gnome-terminal> Perfis> Padrão> codificação> utf-8
fonte
if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi