Erreur nano: Erreur lors de l'ouverture du terminal: xterm-256color


109

Après l'installation d'OSX Lion, j'ai essayé de:

nano /etc/apt/sources.list

Mais j'obtiens cette erreur:

Error opening terminal: xterm-256color

Si j'essaye de changer les préférences de terminal.app pour ouvrir les fenêtres de terminal en "couleur xterm" au lieu de xterm-256colortout fonctionne bien.

Que ce passe-t-il?


1
Vous manquez peut-être une étape ici - comme si vous étiez passé du Mac dans un système Debian ou Ubuntu, n'est-ce pas? Au moins, j'espère que vous n'avez pas essayé de modifier /etc/apt/sources.list dans un système MacOS ... :)
Henning

Réponses:


168

Sur Red Hat, cela a fonctionné pour moi:

export TERM=xterm

plus d'informations ici: http://www.cloudfarm.it/fix-error-opening-terminal-xterm-256color-unknown-terminal-type/


A travaillé pour moi lors de l'exécution sur le système de suppression. Connexion depuis OS X -> Ubuntu
Ryan Griffith

Fait intéressant, j'ai eu cette erreur dans un environnement chrooté qui ne contient que des programmes minimes jusqu'à présent. Je suppose qu'il manque un programme qui cause cela, mais malheureusement, nano ne donne pas plus d'informations sur les raisons pour lesquelles il échoue exactement.
shevy

Fonctionne également lorsque vous essayez d'utiliser top dans un système kubernetes local minikube fonctionnant en tant que machine virtuelle basée sur buildroot dans Virtualbox sur Max OS X. (qui est ssh de MacOS dans une VM basée sur Buildroot et tgen run top)
Henning

Cette réponse est sans rapport avec la question et aurait dû être supprimée.
Thomas Dickey

La même solution semble correcte pour différents systèmes, y compris Ubuntu / Debian et OSX (les OP). En quoi cela n'est-il pas pertinent?
Meetai.com

28

Après la mise à niveau vers OSX Lion, j'ai commencé à recevoir cette erreur sur certains serveurs (Debian / Ubuntu). Le correctif consiste simplement à installer le package «ncurses-term» qui fournit le fichier / usr / share / terminfo / x / xterm-256color.

Cela a fonctionné pour moi sur un serveur Ubuntu, via Erik Osterman .


17

Je peux confirmer qu'il s'agit d'un problème de terminfo. C'est ce qui a fonctionné pour moi. Connectez-vous en SSH à la machine distante et exécutez

 sudo apt-get install ncurses-term

Boom. Problème résolu.


Je pense que cela peut être une des raisons pour lesquelles nano peut parfois échouer - par exemple si le problème se produit à la place à ncurses / terminfo.
shevy

6

J'ai eu ce problème de connexion à http://sdf.org via Mac OS X Lion. J'ai changé sous le volet Terminal Preferences( + ,) > Advanced, Declare Terminal asen VT-100.

J'ai également marqué Delete Sends Ctrl-Hparce que cette connexion Mac était déroutante zsh.

Cela semble fonctionner pour mon cas d'utilisation.


1
Merci pour une réponse qui n'implique PAS de changer de serveur!
DOOManiac

1
Cela ne fonctionne pas pour moi. Je me connecte d'un Mac dans Mavericks à un Mac dans Snow Leopard. J'obtiens l'erreur au lancement top.
Nicolas Barbulesco

@NicolasBarbulesco Ah ok Nicolas, désolé mais je n'utilise plus Mac donc je ne peux pas tester ça avec toi.
isomorphismes

5

Moi aussi, j'ai ce problème sur un ancien Mac que j'ai mis à niveau vers Lion.

Avant de lire l'astuce terminfo, j'ai pu obtenir vi et moins travailler en faisant "export TERM = xterm".

Après avoir lu le conseil, j'ai récupéré /usr/share/terminfoun Mac plus récent qui a une nouvelle installation de Lion et ne présente pas ce problème.

Maintenant, même si cela echo $TERMdonne toujours xterm-256color, vi et moins fonctionnent maintenant correctement.


Pour tous ceux qui essaient de faire fonctionner un chroot sous macOS, cela corrige le problème "Erreur lors de l'ouverture du terminal:" dans le chroot.

3

en quelque sorte et parfois le dossier «terminfo» est corrompu après une nouvelle installation. je ne sais pas pourquoi, mais le problème peut être résolu de cette manière:

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

J'espère que ça aide.


J'ai rencontré la même erreur et essayé les étapes suggérées. J'ai rencontré un certain nombre d'erreurs d'autorisation refusées lors du déballage avec unpkg. Le dossier BSD est apparu sur mon bureau et j'ai lancé "sudo mv ~ / Desktop / BSD / usr / share / terminfo / usr / share / terminfo" puis redémarré le terminal, mais j'obtiens toujours le même "Erreur lors de l'ouverture du terminal: xterm-256color " Erreur.
Mike Lawrence

1
peut-être que vous pouvez essayer ce sendpace.com/file/hc2dus c'est mon dossier terminfo. après l'avoir remplacé, n'oubliez pas de chmod 555 / usr / share / terminfo
Luke

2
  1. éditer votre .bash_profilefichier

    vim .bash_profile

  2. commnet

    #export TERM=xterm-256color

  3. Ajoute ça

    export TERMINFO=/usr/share/terminfo

    export TERM=xterm-basic

    à ton .bash_profile

  4. enfin

    courir:

    source .bash_profile


1

Le mien était un cas assez unique mais cela pourrait aider quelqu'un. Sur Android, j'ai essayé de copier nano de mon dossier binaire termux vers / system / xbin. Placé toutes les dépendances de bibliothèque dans / system / lib et obtenu cette erreur. Le fichier libncurses.so.6 que j'ai copié à partir de termux avait son fichier TERMINFO toujours pointé vers /data/data/com.termux/files/usr/share/terminfo

Afficher le chemin pointé avec la commande

chaînes path-to-libncurses.so | grep / terminfo

Pour corriger, soit rendre le répertoire termux terminfo et les sous-répertoires lisibles et exécutables par l'utilisateur nano, soit copier le dossier terminfo ailleurs et utiliser un éditeur hexadécimal pour modifier le chemin de texte brut dans le fichier de bibliothèque partagé.

Lien vers le dossier zippé terminfo https://drive.google.com/file/d/1m1tfHgkGRehBGh1jPMK4EaTgQb9EyCG7/view?usp=drivesdk


Je suis tombé sur une situation similaire lors de l'utilisation d'une configuration chroot ssh. Et je l'ai corrigé comme @Fortune l'a mentionné. trouver et copier les dossiers terminfo dans la structure de dossiers chroot
Gayan Kavirathne

0

J'ai entendu dire que cela peut être résolu en écrasant le vôtre /usr/share/terminfopar celui de l'ordinateur de quelqu'un avec une installation fonctionnelle de Lion. Je ne peux pas confirmer si cela fonctionne ou non, et malheureusement je n'ai pas encore mis à jour, donc je ne peux pas vous fournir ce fichier.


0

Vous pouvez ajouter ce qui suit dans votre .bashrc

if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.