TERMO tmux e screen-256 não suportado em hosts remotos

32

Eu configurei meu tmux para usar screen-256colorse ele funciona muito bem com o vim.

No entanto, quando ssh para um host remoto a partir do tmux, screen-256colorsnão é reconhecido, então estou recebendo erros como este:

E558: Terminal entry not found in terminfo 'screen-256color' not known. Available builtin terminals are:
    builtin_ansi
    builtin_xterm
    builtin_iris-ansi
    builtin_dumb defaulting to 'ansi'

Além de editar cada controle remoto .bashrc(da mesma forma que esta sugestão ), existe alguma maneira de definir o TERMcorreto e automaticamente no host remoto?

Yoav Aner
fonte

Respostas:

41

Você pode copiar as descrições necessárias da terminfo para hosts remotos.

  1. No sistema local, despeje a descrição no formato de texto:

    infocmp xterm-256color > xterm-256color.ti
    infocmp screen-256color > screen-256color.ti
    
  2. Copie para o host remoto e compile:

    tic xterm-256color.ti
    tic screen-256color.ti
    

As descrições serão armazenadas em ~/.terminfo.

( infocmpe ticfazem parte dos pacotes ncurses ou ncurses-bin na maioria das distribuições Linux, bem como na maioria dos BSDs que usam ncurses .)

gravidade
fonte
Obrigado pela resposta rápida e limpa! Eu desejo que eu poderia +2 este aqui
Yoav Aner
Aceita. Trabalhou como charme!
precisa
7

Eu tenho isso no meu .bashrc:

alias ssh='TERM=screen ssh'
Ovidiu C.
fonte