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

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

Cannot find termcap entry for 'xterm-256color'

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

3 ответа

Решение

Быстрое исправление: запустить 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 (или попросить root) добавить запись termcap в /usr/share/misc/termcap. Это исправило бы это для всех пользователей.

В OS X на вкладке Профили, затем Дополнительно, затем Terminfo, переключитесь из xterm-256color в xterm,

Настройки терминала

Другие вопросы по тегам