Ошибка утилиты экрана Unix: не удается найти запись termcap для "xterm-256color"

Я работаю над системой NetBSD через ssh-соединение с моего Mac, и я хочу использовать screen утилита, чтобы я мог запускать процессы и возвращаться к ним после того, как мое терминальное соединение было прервано. Когда я набираю screen Я получаю сообщение об ошибке:

Cannot find termcap entry for 'xterm-256color'

после просмотра сообщений на форуме я подумал, что это имеет какое - то отношение к termcap на удаленной машине, но это, похоже, не так; я могу инициировать экран без ошибок из сеанса ssh из еще один компьютер, к которому у меня обычно нет доступа. Это говорит о том, что мне нужно настроить что-то на моей локальной машине, но я не смог понять, что или как. Хотя этот пост помечен как "gnu-screen", я подозреваю, что работаю с Berkeley screen, хотя я не знаю, является ли это значительным различием.

3 ответов


быстрое исправление: run TERM=xterm screen вместо screen.

вы получаете ошибку, потому что на вашем Mac, у вас есть TERM=xterm-256color, и xterm-256color не находится в termcap удаленной машины. Вы не получаете ошибку при подключении с другого компьютера, потому что его переменная TERM установлена на что-то другое.


вы можете добавить его лично в $HOME/.termcap-запустите это на своей учетной записи NetBSD:

infocmp -C xterm-color | sed -e 's/xterm-color/xterm-256color/' > $HOME/.termcap

но вы также можете как root (или ask root) добавить запись termcap в /usr/share/misc/termcap. Это исправит это для всех пользователей.


в OS X, под вкладкой профили, потом дополнительно, потом используя базу, переключиться с xterm-256color до xterm.

Terminal Settings