Ошибка экранной утилиты 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
,