ssh da tela leva a um erro de terminal desconhecido

5

Estou tentando fazer uma conexão ssh (via lsh) de um host do Ubuntu para outro a partir da tela. Se eu tentar executar mc logo depois disso, recebo o seguinte erro:

Unknown terminal: screen-256color-s
Check the TERM environment variable.
Also make sure that the terminal is defined in the terminfo database.
Alternatively, set the TERMCAP environment variable to the desired
termcap entry.

A questão é: quem está causando essa falha? É host local? controlo remoto? algum pacote faltando (qual?), algo que não foi feito por lsh-server ? ou cliente?

    
por god 03.07.2015 / 13:15

3 respostas

4

Finalmente, consegui descobrir o pacote "óbvio" que fornece a tela de 256 cores (instaladas na máquina remota):

sudo apt install ncurses-term

consertou o problema para mim: nice 256 cores e sem necessidade de soluções alternativas com variáveis de ambiente. Viva! :)

    
por 06.07.2015 / 13:03
4

Basta definir outro TERMO, por exemplo

TERM="rxvt"

ou

TERM="xterm"

ou

TERM="vt102"

Talvez um export TERM também ajude.

A variável TERM é usada pelos programas curses e termcap , como mc ou dialog , para ler os códigos de escape do terminal dos bancos de dados terminfo / termcap, em que o comando é executado. no seu caso, no sistema remoto.

Para suportar o tipo de terminal "screen-256color-s", este tipo de terminal deve ser instalado no banco de dados.

Como um bom ponto de partida, leia man 5 terminfo .

    
por 03.07.2015 / 13:33
3

O GNU screen está definindo $TERM localmente e ssh está passando esse valor para o lado remoto. Existem algumas coisas que você pode fazer.

  • Detecte o screen-256-color-s no lado remoto e defina como mais são. A partir disso você pode ter case $TERM in screen-256*) TERM=screen;; esac .
  • Do lado local, tenha screen definido o terminal. No seu arquivo ~/.screenrc tem: term screen .
  • Se você tiver um comando screen para abrir a chamada ssh , adicione uma opção -T : screen -T screen ssh user@host
  • Em você local ~/.bashrc , defina o terminal se ele detectar o incompatível semelhante ao lado remoto acima.
por 03.07.2015 / 16:50