
Visão geral dos problemas de reanexação de tela UTF8.
Problema:
Criar uma tela que use UTF8 funciona perfeitamente até anexar novamente a referida sessão de tela.
Passos:
ssh remothost
screen -U -S ttytter
[detach screen]
[exit ssh]
xterm -class 'xterm-ttytter' -geometry 175x20 \
-title 'ttytter' -e ssh -t remotehost "screen -dU -r ttytter"
Detalhes
Eu sou um grande fã dettitare já o uso há algum tempo. Recentemente comecei a usar xterm vs xfce4-terminal/gnome-terminal porque acho que é muito mais limpo. Estou tentando usar UTF8 por motivos pessoais e profissionais e ainda estou tentando resolver alguns bugs.
O anexo inicial (criação) me fornece uma entrada UTF8 que funciona como deveria. $TERM éxterm-256colorsenquanto $LANG éen_US.UTF-8. Isso também é verdade quando eu reconecto a tela, embora não consiga usar certos caracteres, como backspace, que aparece como^ H.
Parece que o problema é específico do comando que estou emitindo para reconectar a tela. Estou tentando descobrir o que pode estar causando esse problema ao reconectar minha tela UTF8. eu tentei-dr.e-dU -r, ambos os quais não estão conseguindo resolver meu problema. Eu tentei dar ao xterm o sinalizador -u8, sem nenhuma mudança no comportamento.
xterm -class 'xterm-ttytter' -geometry 175x20 \
-title 'ttytter' -e ssh -t remotehost "screen -dU -r ttytter"
O acima causa problemas.
ssh remotehost
screen -dU -r ttytter
O acima funciona muito bem.
Configurações
.screenrc
defc1 off
defutf8 on
utf8 on
.Xdefaults
xterm*utf8: 1
.bashrc
export LANG=en_US.UTF-8
Eu realmente apreciarei qualquer orientação sobre como resolver esse problema.
Responder1
Solução
Diferentes 'classes' carregam diferentes arquivos de configuração de/etc/X11/app-default/. Meu problema era que minha nova classe xterm não tinha um arquivo de configuração correspondente.
# cd /etc/X11/app-default
# ln -s XTerm-color xterm-ttytter
O texto acima vinculará as configurações de classe do XTerm-color para xterm-ttytter criando um link simbólico. Dessa forma, quaisquer alterações feitas no XTerm-color também serão aplicadas automaticamente no xterm-ttytter.
O crédito vai para @Nei emFreenode/#xtermpara explicar classes de programa para X11.
Responder2
Os arquivos padrão dos aplicativos xterm
são projetados para incluir XTerm-color
o uso de uma rota diferente. Este recurso
*customization: -color
diria à biblioteca do X Toolkit para carregar um arquivo de recurso terminando com "-color".
Existem vários arquivos app-defaults instalados para xterm
. Olhando para o meu /etc/X11/app-defaults
, estes são os principais:
-rw-r--r-- 1 root 2400 Nov 27 2012 KOI8RXTerm
-rw-r--r-- 1 root 3609 Nov 27 2012 UXTerm
-rw-r--r-- 1 root 10112 Nov 27 2012 XTerm
e estes são os personalizados por cores:
-rw-r--r-- 1 root 6217 Nov 27 2012 KOI8RXTerm-color
-rw-r--r-- 1 root 6209 Nov 27 2012 UXTerm-color
-rw-r--r-- 1 root 6207 Nov 27 2012 XTerm-color
OXTerm
eXTerm-color
alguns devem exigir pouca explicação: a classe padrão é XTerm
e o recurso de personalização adiciona "-color". Os outros usam classes diferentes. Você deve estar interessado na UXTerm
aula, pois ela define isso
*VT100.utf8: 1
bem como configurar fontes úteis com UTF-8. O uxterm
script é executado xterm
usando a UXTerm
classe, além de garantir que as variáveis de ambiente de localidade estejam configuradas.
Leitura adicional:
Responder3
Presumo que você esteja obtendo resultados distorcidos e, se for esse o caso, tente executar o reset
comando ou talvez stty sane
. Isso tratará o sintoma, pelo menos.