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

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

Cannot find termcap entry for 'xterm-256color'

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

Ответ 1

Быстрое исправление: запустите TERM=xterm screen вместо screen.

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

Ответ 2

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

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

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

Ответ 3

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

Terminal Settings