erro nano: Erro ao abrir o terminal: xterm-256color

109

Após a instalação do OSX Lion, tentei:

nano /etc/apt/sources.list

Mas recebo este erro:

Error opening terminal: xterm-256color

Se eu tentar mudar as preferências do terminal.app para abrir as janelas do terminal em "cor xterm" em vez de xterm-256colortudo funcionar bem.

O que está acontecendo?

Lucas
fonte
1
Você pode estar perdendo alguma etapa aqui - como você transferiu do Mac para algum sistema Debian ou Ubuntu, certo? Pelo menos espero que você não tenha tentado editar /etc/apt/sources.list em um sistema MacOS ... :)
Henning

Respostas:

167

No Red Hat, isso funcionou para mim:

export TERM=xterm

mais informações aqui: http://www.cloudfarm.it/fix-error-opening-terminal-xterm-256color-unknown-terminal-type/

Meetai.com
fonte
Funcionou para mim quando executado no sistema de remoção. A conexão do era OS X -> Ubuntu
Ryan Griffith
Curiosamente, eu tive esse erro em um ambiente chroot que tem apenas programas mínimos até agora. Presumo que haja algum programa faltando que causa isso, mas infelizmente o nano não dá mais informações sobre o motivo da falha.
shevy
Funciona também ao tentar usar top dentro de um sistema Kubernetes local minikube rodando como uma VM baseada em buildroot dentro de Virtualbox no Max OS X. (que é ssh de MacOS em uma VM baseada em Buildroot e tgen run top)
Henning
Essa resposta é irrelevante para a pergunta e deveria ter sido excluída.
Thomas Dickey
A mesma solução parece correta para diferentes sistemas, incluindo Ubuntu / Debian e OSX (os OP's). Como isso é irrelevante?
Meetai.com
28

Depois de atualizar para o OSX Lion, comecei a receber esse erro em alguns servidores (Debian / Ubuntu). A correção é simplesmente instalar o pacote “ncurses-term” que fornece o arquivo / usr / share / terminfo / x / xterm-256color.

Isso funcionou para mim em um servidor Ubuntu, via Erik Osterman .

bezerro
fonte
17

Posso confirmar que este é um problema de terminfo. Isto é o que funcionou para mim. SSH na máquina remota e execute

 sudo apt-get install ncurses-term

Estrondo. Problema resolvido.

Johnny
fonte
Acho que essa pode ser uma das razões pelas quais o nano às vezes pode falhar - por exemplo, se o problema acontecer em ncurses / terminfo.
shevy
6

Tive esse problema ao me conectar a http://sdf.org por meio do Mac OS X Lion. Mudei no painel Terminal Preferences( + ,) > Advanced, Declare Terminal asparaVT-100 .

Eu também marquei Delete Sends Ctrl-Hporque esta conexão do Mac era confusazsh .

Parece estar funcionando para meu caso de uso.

isomorfismos
fonte
1
Obrigado por uma resposta que NÃO envolveu a mudança de servidor!
DOOManiac
1
Isso não funciona para mim. Eu me conecto de um Mac no Mavericks a um Mac no Snow Leopard. Recebo o erro ao iniciar top.
Nicolas Barbulesco
@NicolasBarbulesco Ah ok Nicolas, desculpe, mas não estou mais usando Mac, então não posso testar isso com você.
isomorfismos
5

Eu também tenho esse problema em um Mac antigo que atualizei para o Lion.

Antes de ler a dica do terminfo, consegui fazer o vi e menos funcionar fazendo "export TERM = xterm".

Depois de ler a dica, peguei /usr/share/terminfo de um Mac mais recente que tem uma nova instalação do Lion e não apresenta esse problema.

Agora, embora echo $TERMainda produza xterm-256color, o vi e menos agora funcionam bem.

bitaxis
fonte
Para qualquer um que esteja tentando fazer um chroot rodar no macOS, isso corrige o problema de "Erro ao abrir o terminal:" dentro do chroot.
3

de alguma forma e às vezes a pasta "terminfo" é corrompida após uma nova instalação. não sei porquê, mas o problema pode ser resolvido desta forma:

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

espero que ajude.

Lucas
fonte
Encontrei o mesmo erro e tentei suas etapas sugeridas. Encontrei uma série de erros de permissão negada ao desempacotar com unpkg. A pasta BSD apareceu na minha área de trabalho e eu executei "sudo mv ~ / Desktop / BSD / usr / share / terminfo / usr / share / terminfo" e reiniciei o terminal, mas ainda recebo o mesmo "Erro ao abrir o terminal: xterm-256color "erro.
Mike Lawrence
1
talvez você possa tentar este sendpace.com/file/hc2dus é a minha pasta terminfo. após substituí-lo, não se esqueça de chmod 555 / usr / share / terminfo
Lucas
2
  1. edite seu .bash_profilearquivo

    vim .bash_profile

  2. commnet

    #export TERM=xterm-256color

  3. Adicione isso

    export TERMINFO=/usr/share/terminfo

    export TERM=xterm-basic

    para o seu .bash_profile

  4. finalmente

    corre:

    source .bash_profile

Xu Radman
fonte
1

O meu caso foi único, mas isso poderia ajudar alguém. No Android, tentei copiar o nano da minha pasta binária termux para / system / xbin. Colocou todas as dependências da biblioteca em / system / lib e obteve este erro. O arquivo libncurses.so.6 que copiei do termux tinha seu arquivo TERMINFO ainda apontado para /data/data/com.termux/files/usr/share/terminfo

Ver o caminho apontado com o comando

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

Para corrigir, torne o termux terminfo dir e subdiretórios legíveis e executáveis ​​pelo usuário nano ou copie a pasta terminfo em outro lugar e use um editor hexadecimal para modificar o caminho de texto simples no arquivo de biblioteca compartilhada.

Link para a pasta terminfo compactada https://drive.google.com/file/d/1m1tfHgkGRehBGh1jPMK4EaTgQb9EyCG7/view?usp=drivesdk

Fortuna
fonte
Corri para uma situação semelhante ao usar uma configuração chroot ssh. E eu corrigi como @Fortune mencionou. localizar e copiar pastas terminfo para a estrutura de pastas chroot
Gayan Kavirathne
0

Ouvi dizer que isso pode ser corrigido substituindo o seu /usr/share/terminfopor um do computador de alguém com uma instalação do Lion funcionando. Não posso confirmar se isso funciona ou não e, infelizmente, ainda não atualizei, então não posso fornecer esse arquivo.

EdoDodo
fonte
0

Você pode adicionar o seguinte em seu .bashrc

if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
doesnt_matter
fonte