нано помилка: помилка відкриття терміналу: xterm-256color


109

Після встановлення OSX Lion я спробував:

nano /etc/apt/sources.list

Але я отримую цю помилку:

Error opening terminal: xterm-256color

Якщо я спробую переключити налаштування terminal.app, щоб відкрити вікна терміналів у "xterm color" замість xterm-256color все працює добре.

Що відбувається?


1
Ви можете пропустити тут якийсь крок - як ви перейшли з Mac в якусь систему Debian або Ubuntu, правда? Принаймні сподіваюся, ви не намагалися редагувати /etc/apt/sources.list в системі MacOS ... :)
Хеннінг

Відповіді:


167

На Red Hat це працювало для мене:

export TERM=xterm

більше інформації тут: http://www.cloudfarm.it/fix-error-opening-terminal-xterm-256color-unknown-terminal-type/


Працював для мене, коли бігав по системі видалення. Підключення з ОС X -> Ubuntu
Ryan Griffith

Цікаво, що у мене була помилка в середовищі з редакцією chroot-ed, у якій поки що є лише мінімальні програми. Я припускаю, що якась програма відсутня, що викликає це, але, на жаль, nano не дає більше інформації щодо того, чому саме вона виходить з ладу.
shevy

Працює також при спробі використовувати зверху всередині системи minikube місцевого kubernetes працює як VM на основі Buildroot всередині Virtualbox на Max OS X. (який SSH з MacOS в основі Buildroot VM і TGEN виконання зверху)
Henning

Ця відповідь не стосується питання і повинна була бути видалена.
Томас Дікі

Це ж рішення видається правильним для різних систем, включаючи Ubuntu / Debian і OSX (ОП). Як це не має значення?
Meetai.com

28

Після оновлення до OSX Lion я почав отримувати цю помилку на певних (Debian / Ubuntu) серверах. Виправлення полягає в тому, щоб просто встановити пакет "ncurses-term", який надає файл / usr / share / terminfo / x / xterm-256color.

Це працювало для мене на сервері Ubuntu через Еріка Остермана .


17

Я можу підтвердити, що це проблема terminfo. Це те, що працювало для мене. SSH у віддалену машину і запустіть

 sudo apt-get install ncurses-term

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


Я думаю, що це може бути однією з причин того, що іноді нано може виходити з ладу - наприклад, якщо проблема виникає замість ncurses / terminfo.
shevy

6

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

Я також зазначив, Delete Sends Ctrl-Hщо це з'єднання Mac було заплутаним zsh.

Схоже, це працює для мого використання.


1
Дякуємо за відповідь, яка НЕ ​​передбачала зміни сервера!
DOOManiac

1
Це не працює для мене. Я підключаюсь від Mac у Mavericks до Mac у Snow Leopard. Я отримую помилку під час запуску top.
Ніколя Барбулеско

@NicolasBarbulesco Ага, Ніколя, вибачте, але я більше не використовую Mac, тому я не можу перевірити це з вами.
ізоморфізми

5

У мене теж є ця проблема на старшому Mac, який я модернізував до Lion.

Перш ніж прочитати підказку terminfo, мені вдалося отримати vi і менше роботи, роблячи "export TERM = xterm".

Прочитавши пораду, я схопив /usr/share/terminfo із нового Mac, який має свіжу установку Lion і не виявляє цієї проблеми.

Тепер, хоча echo $TERMвсе ще врожайність xterm-256color, vi і менше зараз працюють добре.


Для тих, хто намагається запустити chroot на macOS, це виправляє проблему "Помилка відкриття терміналу:".

3

чомусь і іноді папка "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

сподіваюся, що це допомагає.


Я зіткнувся з тією ж помилкою і спробував запропоновані вами кроки. Під час розпакування unpkg я зіткнувся з низкою помилок, відхилених у дозволі. Папка BSD з'явилася на моєму робочому столі, і я запустив "sudo mv ~ / Desktop / BSD / usr / share / terminfo / usr / share / terminfo", потім перезапустив термінал, але я все одно отримую те саме "Помилка відкриття терміналу: xterm-256color "помилка.
Майк Лоуренс

1
можливо, ви можете спробувати це sendpace.com/file/hc2dus - це моя папка terminfo. після його заміни не забудьте chmod 555 / usr / share / terminfo
Лука

2
  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


1

Шахта була досить унікальним випадком, але це могло комусь допомогти. На Android я спробував скопіювати нано з моєї бінарної папки termux в / system / xbin. Розмістив усі залежності бібліотеки в / system / lib і отримав цю помилку. Файл libncurses.so.6, який я скопіював з termux, якщо файл TERMINFO все ще вказував на /data/data/com.termux/files/usr/share/terminfo

Перегляньте загострений шлях із командою

рядки path-to-libncurses.so | grep / terminfo

Для виправлення або зробіть термукс терміно dir та підкаталоги читачем та виконуваним нанокористувачем, або скопіюйте папку термфо десь в іншому місці та скористайтеся шестигранником, щоб змінити шлях звичайного тексту у файлі спільної бібліотеки.

Посилання на папку "ZIP" на https://drive.google.com/file/d/1m1tfHgkGRehBGh1jPMK4EaTgQb9EyCG7/view?usp=drivesdk


Я зіткнувся з подібною ситуацією, коли додав конфігурацію chroot ssh. І я виправив це, як @Fortune наголосив. знайти та скопіювати папки terminfo до структури папок chroot
Gayan Kavirathne

0

Я чую, що це можна виправити, перезаписавши своє /usr/share/terminfo на комп'ютер когось із працюючою установкою Lion. Я не можу підтвердити, працює це чи ні, і, на жаль, я ще не оновив її, тому не можу надати вам цей файл.


0

Ви можете додати наступне у свій .bashrc

if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.