Tmux i screen-256 TERM nie są obsługiwane na zdalnych hostach

32

Skonfigurowałem mój tmux do użytku screen-256colorsi działa świetnie z vimem.

Jednak gdy ssh do zdalnego hosta z poziomu tmux, screen-256colorsnie jest rozpoznawany, więc otrzymuję takie błędy:

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'

Czy oprócz edycji każdego pilota .bashrc(podobnie do tej sugestii ) istnieje jakiś sposób, aby ustawić TERMpoprawnie i automatycznie na zdalnym hoście?

Yoav Aner
źródło

Odpowiedzi:

41

Możesz skopiować niezbędne opisy terminfo na zdalne hosty.

  1. W systemie lokalnym zrzuć opis do formatu tekstowego:

    infocmp xterm-256color > xterm-256color.ti
    infocmp screen-256color > screen-256color.ti
    
  2. Skopiuj na zdalny host i skompiluj:

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

Opisy zostaną zapisane w ~/.terminfo.

( infocmpi ticsą częścią pakietów ncurses lub ncurses-bin w większości dystrybucji Linuksa, a także w większości BSD korzystających z ncurses .)

grawitacja
źródło
Dzięki za szybką i zgrabną odpowiedź! Żałuję, że nie mogę dać +2 tego
Yoav Aner
Zgodzić się. Działa jak urok!
Yordan Georgiev
7

Mam to w moim .bashrc:

alias ssh='TERM=screen ssh'
Ovidiu C.
źródło