Błąd nano: Błąd podczas otwierania terminala: xterm-256color


109

Po instalacji OSX Lion próbowałem:

nano /etc/apt/sources.list

Ale pojawia się ten błąd:

Error opening terminal: xterm-256color

Jeśli spróbuję przełączyć preferencje terminal.app tak, aby otwierać okna terminala w "kolorze xterm" zamiast xterm-256colorwszystkiego, wszystko działa dobrze.

Co się dzieje?


1
Być może brakuje Ci tu jakiegoś kroku - tak jak przeszedłeś z Maca do jakiegoś systemu Debian lub Ubuntu, prawda? Przynajmniej mam nadzieję, że nie próbowałeś edytować /etc/apt/sources.list w systemie MacOS ... :)
— Henning

Odpowiedzi:


168

W Red Hat to zadziałało dla mnie:

export TERM=xterm

więcej informacji tutaj: http://www.cloudfarm.it/fix-error-opening-terminal-xterm-256color-unknown-terminal-type/


Pracował dla mnie, gdy działał w systemie usuwania. Połączenie z OS X -> Ubuntu
— Ryan Griffith

Co ciekawe, miałem ten błąd w środowisku chroot, w którym do tej pory są tylko minimalne programy. Zakładam, że brakuje jakiegoś programu, który to powoduje, ale niestety nano nie podaje więcej informacji, dlaczego dokładnie zawodzi.
— shevy

Działa również, gdy próbujesz użyć top w lokalnym systemie kubernetes minikube działającym jako maszyna wirtualna w oparciu o buildroot wewnątrz Virtualbox na Max OS X. (czyli ssh z MacOS do maszyny wirtualnej opartej na Buildroot i tgen run top)
— Henning

Ta odpowiedź nie ma związku z pytaniem i powinna zostać usunięta.
— Thomas Dickey,

To samo rozwiązanie wydaje się poprawne dla różnych systemów, w tym Ubuntu / Debian i OSX (OP). Dlaczego to nie ma znaczenia?
— Meetai.com

28

Po aktualizacji do OSX Lion zacząłem otrzymywać ten błąd na niektórych serwerach (Debian / Ubuntu). Rozwiązaniem jest po prostu zainstalowanie pakietu „ncurses-term”, który zawiera plik / usr / share / terminfo / x / xterm-256color.

To zadziałało dla mnie na serwerze Ubuntu, za pośrednictwem Erika Ostermana .


17

Mogę potwierdzić, że jest to problem z terminfo. To właśnie zadziałało dla mnie. SSH na zdalną maszynę i uruchom

 sudo apt-get install ncurses-term

Bum. Problem rozwiązany.


Myślę, że może to być jeden z powodów, dla których nano może czasami zawieść - np. Jeśli problem występuje w ncurses / terminfo.
— shevy

6

Miałem ten problem podczas łączenia się z http://sdf.org przez Mac OS X Lion. Zmieniłem pod Terminal Preferences( ⌘+ ,) > Advancedokienkiem Declare Terminal asna VT-100.

Zaznaczyłem również, Delete Sends Ctrl-Hponieważ to połączenie z komputerem Mac było mylące zsh.

Wygląda na to, że działa w moim przypadku użycia.


1
Dzięki za odpowiedź, która NIE wymagała zmiany serwera!
— DOOManiac

1
To nie działa dla mnie. Łączę się z komputera Mac w Mavericks z komputerem Mac w systemie Snow Leopard. Po uruchomieniu pojawia się błąd top.
— Nicolas Barbulesco

@NicolasBarbulesco Ah ok Nicolas, przepraszam, ale nie używam już Maca, więc nie mogę tego z tobą przetestować.
— izomorfizmy

5

Ja też mam ten problem na starszym Macu, który zaktualizowałem do Lion.

Przed przeczytaniem porady terminfo udało mi się uzyskać vi i mniej pracując, wykonując "export TERM = xterm".

Po przeczytaniu wskazówki złapałem /usr/share/terminfoz nowszego Maca, który ma świeżą instalację Lion i nie wykazuje tego problemu.

Teraz, mimo że echo $TERMnadal daje xterm-256color, vi i less teraz działają dobrze.


Dla każdego, kto próbuje uruchomić chroot w systemie macOS, rozwiązuje to problem „Błąd otwierania terminala:” wewnątrz chroot.

3

w jakiś sposób folder „terminfo” ulega uszkodzeniu po nowej instalacji. nie wiem dlaczego, ale problem można rozwiązać w ten sposób:

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

mam nadzieję, że to pomoże.


Napotkałem ten sam błąd i wypróbowałem sugerowane kroki. Podczas rozpakowywania za pomocą unpkg napotkałem szereg błędów odmowy uprawnień. Folder BSD pojawił się na moim pulpicie i uruchomiłem „sudo mv ~ / Desktop / BSD / usr / share / terminfo / usr / share / terminfo”, a następnie zrestartowałem terminal, ale nadal otrzymuję ten sam „Błąd podczas otwierania terminala: xterm-256color „błąd.
— Mike Lawrence,

1
może możesz spróbować tego sendspace.com/file/hc2dus to mój folder terminfo. po wymianie nie zapomnij o chmod 555 / usr / share / terminfo
— Luke

2
  1. edytować .bash_profileplik

    vim .bash_profile

  2. commnet

    #export TERM=xterm-256color

  3. Dodaj

    export TERMINFO=/usr/share/terminfo

    export TERM=xterm-basic

    dla Twojej .bash_profile

  4. Wreszcie

    biegać:

    source .bash_profile


1

Mój przypadek był dość wyjątkowy, ale to mogłoby komuś pomóc. W systemie Android próbowałem skopiować nano z mojego folderu binarnego termux do / system / xbin. Umieszczono wszystkie zależności bibliotek w / system / lib i otrzymałem ten błąd. Plik libncurses.so.6, który skopiowałem z termux, miał plik TERMINFO nadal wskazujący na /data/data/com.termux/files/usr/share/terminfo

Wyświetl wskazaną ścieżkę za pomocą polecenia

stringi path-to-libncurses.so | grep / terminfo

Aby naprawić, należy uczynić katalog terminfo dir i podkatalogi terminfo czytelnymi i wykonywalnymi przez użytkownika nano lub skopiować folder terminfo w inne miejsce i użyć edytora szesnastkowego do zmodyfikowania ścieżki zwykłego tekstu w pliku biblioteki współdzielonej.

Link do spakowanego folderu terminfo https://drive.google.com/file/d/1m1tfHgkGRehBGh1jPMK4EaTgQb9EyCG7/view?usp=drivesdk


Wpadłem do podobnej sytuacji podczas udawania konfiguracji chroot ssh. I naprawiłem to, jak wspomniał @Fortune. znajdź i skopiuj foldery terminfo do struktury folderów chroot
— Gayan Kavirathne

0

Słyszałem, że można to naprawić, nadpisując plik /usr/share/terminfo plik z komputera kogoś z działającą instalacją Lion. Nie mogę potwierdzić, czy to działa, czy nie, i niestety jeszcze nie zaktualizowałem, więc nie mogę dostarczyć Ci tego pliku.


0

Możesz dodać następujące elementy w swoim .bashrc

if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.