Existe uma maneira de fornecer “overrides” para uma entrada terminfo?

2

Pelo menos no Linux, no RedHat, a entrada xterm terminfo fornecida é defeituosa: por alguma razão, eles usam uma sequência de inicialização via is2 que força uma tela de 80 colunas ( Veja CSI? n l) . Isso é uma coisa muito boba de se fazer. Então eu quero mudar isso. Eu quero mudar isso da maneira mais eloquente possível.

O banco de dados terminfo está em /etc/terminfo (não documentado) e /usr/lib/terminfo e $HOME/.terminfo e possivelmente $TERMINFO e $TERMINFO_DIRS .

Minhas escolhas parecem ser:

  • Use infocmp xterm | perl <regexp> | tic para fornecer um novo banco de dados e coloque-o no arquivo original (má ideia) ou em /etc/termcap/x/xterm

  • Crie uma nova entrada xterm chamada (por exemplo) xterm-mine que use a capacidade source e coloque-a em um dos diretórios acima.

Eu tenho uma terceira escolha? Algo que substitui apenas essa capacidade? Um "tweak"?

    
por Otheus 14.10.2016 / 14:16

1 resposta

2

Você parece ter mencionado todas as possibilidades. Mas você não mencionou qual configuração de terminal está usando. A menção de uma sequência de controle

     Ps = 3  -> 132 Column Mode (DECCOLM).

dá uma dica.

A questão em relação ao ( não novo: mais de 20 anos antigo ) o comportamento da cadeia de inicialização é quase todos de usuários do PuTTY. Apesar de usar xterm para a configuração TERM , o PuTTY não é xterm. Em contraste com o xterm (que torna o item de menu correspondente desativado por padrão), o PuTTY o habilita por padrão (e torna a opção disponível apenas escolhendo entre permitir qualquer redimensionamento).

Leitura adicional:

O Debian fornece mais relatórios de bugs relacionados ao PuTTY do que a Red Hat:

O ponto de tudo isso é que as descrições dos terminais (como outras coisas que são usadas com frequência) não mudam com frequência quando existe uma maneira bem estabelecida na qual elas são usadas. A descrição do terminal do PuTTY difere do xterm de outras maneiras, porque ele não implementa certos recursos (como quebra de linha) consistentemente com o xterm.

Outras leituras (além do FAQ sobre ncurse sobre TERM vs xterm ):

por 14.10.2016 / 23:46