nano ошибка: Ошибка при открытии терминала: xterm-256color

После установки OSX Lion я попытался:

nano /etc/apt/sources.list

Но я получаю эту ошибку:

Error opening terminal: xterm-256color

Если я попытаюсь переключить настройки terminal.app, чтобы открыть окна терминала в «цвете xterm» вместо xterm-256color, все работает нормально.

Что происходит?


person Luke    schedule 24.07.2011    source источник
comment
Возможно, вы пропустили какой-то шаг — например, вы подключились с Mac к какой-либо системе Debian или Ubuntu, верно? По крайней мере, я надеюсь, что вы не пытались редактировать /etc/apt/sources.list в системе MacOS... :)   -  person Henning    schedule 10.08.2017


Ответы (10)


В Red Hat это сработало для меня:

export TERM=xterm

дополнительная информация здесь: http://www.cloudfarm.it/fix-error-opening-terminal-xterm-256color-unknown-terminal-type/

person Meetai.com    schedule 09.07.2014
comment
Работал для меня, когда запускал систему удаления. Подключение из OS X -> Ubuntu - person Ryan Griffith; 04.07.2016
comment
Интересно, что у меня была эта ошибка в среде с chroot, в которой до сих пор было только минимальное количество программ. Я предполагаю, что отсутствует какая-то программа, которая вызывает это, но, к сожалению, nano не дает более подробной информации о том, почему именно происходит сбой. - person shevy; 30.08.2016
comment
Работает также при попытке использовать top внутри локальной системы kubernetes minikube, работающей как виртуальная машина на основе buildroot внутри Virtualbox на Max OS X. (это ssh из MacOS в виртуальную машину на основе Buildroot и tgen run top) - person Henning; 10.08.2017
comment
Одно и то же решение кажется правильным для разных систем, включая Ubuntu/Debian и OSX (OP). Как это неактуально? - person Meetai.com; 22.09.2017
comment
Это сработало для меня в системе Debian. Как мне сделать это постоянным? Например, когда я вхожу в систему через SSH? - person inspirednz; 24.07.2018
comment
Хотя это может работать (и даже в более общем смысле, чем реальные решения), концептуально в лучшем случае это обходной путь. По сути, вы лжете своей оболочке о терминале, который используете для подключения. - person das-g; 27.08.2018
comment
Это может быть взлом, который проливает свет на основную проблему. - person Meetai.com; 06.10.2018
comment
Это сработало для меня, когда ccmake вместо nano выдавал то же сообщение об ошибке. - person XavierStuvw; 24.10.2019

После обновления до OSX Lion я начал получать эту ошибку на некоторых серверах (Debian/Ubuntu). Исправление заключается в простой установке пакета «ncurses-term», который предоставляет файл /usr/share/terminfo/x/xterm-256color.

Это сработало для меня на сервере Ubuntu через Эрика Остермана< /а>.

person calvinf    schedule 26.07.2011

Я могу подтвердить, что это проблема terminfo. Это то, что сработало для меня. SSH на удаленной машине и запустите

 sudo apt-get install ncurses-term

Бум. Проблема решена.

person Johnny    schedule 10.02.2014
comment
Я думаю, что это может быть одной из причин, по которой nano иногда может выходить из строя — т.е. г. если проблема возникает в ncurses/terminfo. - person shevy; 30.08.2016

У меня возникла проблема с подключением к http://sdf.org через Mac OS X Lion. Я изменил панель под Terminal Preferences (+,) > Advanced, Declare Terminal as на VT-100.

Я также отметил Delete Sends Ctrl-H, потому что это подключение к Mac сбивало с толку zsh.

Кажется, это работает для моего варианта использования.

person isomorphismes    schedule 13.02.2013
comment
Спасибо за ответ, который НЕ связан с изменением сервера! - person DOOManiac; 05.11.2013
comment
Это не работает для меня. Я подключаюсь с Mac в Mavericks к Mac в Snow Leopard. Я получаю сообщение об ошибке при запуске top. - person Nicolas Barbulesco; 02.12.2014
comment
@NicolasBarbulesco Ах, хорошо, Николас, извини, но я больше не использую Mac, поэтому не могу проверить это с тобой. - person isomorphismes; 02.12.2014

У меня тоже есть эта проблема на старом Mac, который я обновил до Lion.

Прежде чем прочитать подсказку по терминологии, я смог заставить работать vi и less, выполнив команду «export TERM=xterm».

Прочитав совет, я взял /usr/share/terminfo с более нового Mac, на котором установлена ​​новая версия Lion и у которой нет этой проблемы.

Теперь, несмотря на то, что echo $TERM по-прежнему дает xterm-256color, vi и более ранние версии теперь работают нормально.

person bitaxis    schedule 24.07.2011
comment
Для тех, кто пытается запустить chroot в macOS, это исправляет ошибку при открытии терминала: проблема внутри chroot. - person ; 04.09.2018

  1. отредактируйте файл .bash_profile

    vim .bash_profile

  2. коммнет

    #export TERM=xterm-256color

  3. Добавь это

    export TERMINFO=/usr/share/terminfo

    export TERM=xterm-basic

    к твоему .bash_profile

  4. наконец-то

    бегать:

    source .bash_profile

person Xu Radman    schedule 18.09.2017

так или иначе, а иногда папка «terminfo» повреждается после новой установки. не знаю почему, но проблему можно решить таким образом:

1. Download Lion Installer from the App Store
2. Download unpkg: http://www.macupdate.com/app/mac/16357/unpkg
3. Open Lion Installer app in Finder (Right click -> Show Package
Contents)
4. Open InstallESD.dmg (under SharedSupport)
5. Unpack BSD.pkg with unpkg (Located under Packages)   Term info
will be located in the new BSD folder in /usr/share/terminfo

Надеюсь, поможет.

person Luke    schedule 24.07.2011
comment
Я столкнулся с той же ошибкой и попробовал предложенные вами шаги. Я столкнулся с рядом ошибок отказа в доступе при распаковке с помощью unpkg. Папка BSD появилась на моем рабочем столе, и я запустил sudo mv ~/Desktop/BSD/usr/share/terminfo /usr/share/terminfo, затем перезапустил терминал, но все равно получаю ту же ошибку при открытии терминала: ошибка xterm-256color. - person Mike Lawrence; 24.07.2011
comment
возможно, вы можете попробовать это sendspace.com/file/hc2dus, это моя папка terminfo. после замены не забудьте chmod 555 /usr/share/terminfo - person Luke; 24.07.2011

У меня был довольно уникальный случай, но это может помочь кому-то. На Android я попытался скопировать nano из моей бинарной папки termux в /system/xbin. Поместил все зависимости библиотеки в /system/lib и получил эту ошибку. В файле libncurses.so.6, который я скопировал из termux, файл TERMINFO все еще указывал на /data/data/com.termux/files/usr/share/terminfo.

Просмотр указанного пути с помощью команды

строки path-to-libncurses.so | grep/термининформация

Чтобы исправить это, либо сделайте каталог и подкаталоги termux terminfo доступными для чтения и выполнения пользователем nano, либо скопируйте папку terminfo куда-нибудь еще и используйте шестнадцатеричный редактор, чтобы изменить путь простого текста в файле общей библиотеки.

Ссылка на заархивированную папку terminfo https://drive.google.com/file/d/1m1tfHgkGRehBGh1jPMK4EaTgQb9EyCG7/view?usp=drivesdk

person Fortune    schedule 02.11.2018
comment
Я столкнулся с похожей ситуацией при настройке конфигурации chroot ssh. И я исправил это, как упомянул @Fortune. найти и скопировать папки terminfo в структуру папок chroot - person Gayan Kavirathne; 30.05.2020

Я слышал, что это можно исправить, перезаписав ваш /usr/share/terminfo файлом с компьютера кого-то с работающей установкой Lion. Я не могу подтвердить, работает это или нет, и, к сожалению, я еще не обновился, поэтому не могу предоставить вам этот файл.

person EdoDodo    schedule 24.07.2011

Вы можете добавить следующее в свой .bashrc

if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
person doesnt_matter    schedule 10.03.2015