Ошибка утилиты экрана 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]()