web-dev-qa-db-de.com

Bildschirm: Terminfo-Eintrag für 'xterm-256color' kann nicht gefunden werden

Wenn ich renne 

screen

auf dem entfernten Host (unter Linux) erhalte ich die folgende Fehlermeldung:

Cannot find terminfo entry for 'xterm-256color'.

Ich verwende ein Terminal unter Mac OSX Lion, um auf den Remote-Host zuzugreifen. Ich habe gegoogelt, um die Lösung für dieses Problem zu finden

export TERM=xterm-color

was für mich nicht funktioniert. 

Bitte helfen.

32
Vinayak Agarwal

Finden Sie heraus, welches TERM unterstützt wird:

ls /usr/share/terminfo/x

dadurch erhalten Sie eine Liste der unterstützten TERMs, d. h.

xterm
xterm-xfree86

setze die Umgebungsvariable:

export TERM=xterm-xfree86

und Bildschirm ausführen:

TERMINFO='/usr/share/terminfo/' screen
47
BigSN

Gehen Sie in der Terminal-App, die Sie für ssh verwenden, zu den Einstellungen -> Erweitert -> Terminal deklarieren als: -> xterm-color (oder etwas anderes als xterm-256color)

Diese Antwort wurde einem Kommentar zu diesem Beitrag entnommen, der eine andere Lösung hat: http://marcoschuh.de/wp/?p=873

13
bennlich

Ich konnte die Emulation des Mac OSX (10.7.5) -Terminals (v2.2.3, 303.2) über das Menü Terminal> Voreinstellungen> Einstellungen> Erweitert> Emulation Terminal als Xterm-Farbe deklarieren

Durch das Öffnen einer neuen Terminal-SSH-Verbindung wurde die neue Einstellung aktiviert. 

4
Aussiehash

Im Falle meiner Buffalo Linkstation habe ich es so gelöst:

cd /lib/terminfo/x
ln -s xterm-color xterm-256color
4

Ich habe zuvor die standardmäßige Mac OS X Terminal-App für den Zugriff auf mein Ubuntu-basiertes tmux über ssh verwendet und das von Ihnen beschriebene Problem gefunden - mein bash und tmux ist auf screen-256color gesetzt, eine Option, die nicht einmal in der Liste im Mac enthalten ist Terminaleinstellungen.

Ich habe versucht, die Zeile hinzuzufügen:

export TERM=screen-256color

als Startbefehl wurde er jedoch ignoriert und beim Start mit xterm-color überschrieben.

Es ist mir auch gelungen, die Einstellungen für das Mac Terminal in screen-256color zu ändern, indem Sie "Shell"> "Export Settings" (Exporteinstellungen) wählen und dann die erzeugte XML-Datei bearbeiten, die Zeile xterm-color finden und in "screen-256color" ändern, dann "Shell"> "Importieren" Einstellungsdatei. Beim Starten des Terminals stellte ich jedoch fest, dass still diese Einstellung mit xterm-color überschrieben hatte.

Also gab ich iTerm2 zu und lud mich herunter, was mir erlaubte, die Einstellung für die Bildschirmfarbe zu ändern, indem ich sie in ein reines Textfeld eingabe (anstatt aus einem beschränkten Pulldown-Menü zu wählen). Das funktionierte sofort ohne die Konsole schließen und wieder öffnen zu müssen.

Abschließend empfehle ich die Verwendung von iTerm2 anstelle des Standard-Mac-Terminals (das die erforderlichen Änderungen an $ TERM nicht zuzulassen scheint).

3
wayfarer_boy

Sie müssen wahrscheinlich ein Paket auf Ihrem Linux-Host installieren, das eine der folgenden Dateien bereitstellt:

/usr/share/terminfo/x/xterm-256color
/lib/terminfo/x/xterm-256color

Unter Ubuntu wird dies beispielsweise vom ncurses-base-Paket bereitgestellt.

2
djpohly

Sie können ncurses-term auf dem Remote-Server (Debian/Ubuntu) installieren, um das Problem zu beheben.

2
grokavi

Ein anderer Fall, z.B. Upgrade von screen auf Debian Buster.

Terminfo xterm-256colour Format geändert, daher kann screen die vorherige Sitzung nicht wiederherstellen.

Sie können export TERM=xterm, um Bildschirmsitzungen zu schließen und den Bildschirm neu zu starten. Dieses Mal wird die richtige terminfo-Datei verwendet, und das wird erfolgreich sein.

Quelle: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=90184

1

Auf dem Remote-Computer fehlt eine terminfo -Datei, die mit 'xterm-256color' übereinstimmt.

Der Bildschirm kann das von Ihnen angeforderte Terminal nicht emulieren (xterm-256color), da es nicht die Datei enthält, die das von Ihnen verwendete Terminal beschreibt (xterm-256color).

Sie können die ENV-Variable TERM ändern, um eine Terminalemulation anzufordern, über die die Remote-Maschine verfügt. Beispielsweise: export TERM=vt220, aber das würde voraussetzen, dass Ihre Fernbedienung eine vt220-terminfo-Datei hat, und Sie würden keine hübschen Farben bekommen, und Sie müssten andere mühsame Dinge tun, um sie festzuhalten. Besser...

Wenn Ihr lokaler Computer über Terminfo-Dateien verfügt, Ihr Remote-Computer jedoch nicht über Linux/MacOS, die mit einem QNAP/QNAS/busybox/rpi/router/modem/IOT-Gerät kommunizieren, dann ...

Sie können die erforderliche Datei in das Gerät kopieren und Ihre Gegenstelle anweisen, sie für den Bildschirm zu verwenden. z.B:

[local] $ scp /lib/terminfo/x/xterm-256color [email protected]:xterm-256color
[local] $ ssh [email protected]
[remote] $ ls
xterm-256color
[remote] $ TERMINFO='/share/homes/john/xterm-256color' screen

Der Bildschirm sollte an dieser Stelle funktionieren. Ihr lokaler Computer verfügt möglicherweise über das Verzeichnis terminfo an einer anderen Stelle (/etc/terminfo/ und /usr/share/terminfo/ sind gängige Alternativen; Möglicherweise müssen Sie sich umsehen, um Ihre zu finden.

Um es dauerhafter einzurichten, verschieben Sie es in ein '.terminfo'-Verzeichnis in Ihrem Home-Verzeichnis (oder anderswo, wenn Sie es besser wissen). z.B:

[remote] mkdir -p .terminfo/x
[remote] mv xterm-256color .terminfo/x
[nasbox] screen

Die gleiche Technik sollte für andere Terminal-Emulationen gelten. Die ENV-Variable TERM legt fest, welches Terminal emuliert werden soll, und die gleichnamige Datei enthält die magischen Codes, mit denen dies geschehen soll.

1
John Mee

In der Frage wurde in der Konfiguration des Benutzers nach einer Terminalbeschreibung gefragt, die nicht die Standardeinstellungscreenwar. Dies wurde schließlich durch ein Update von Apple behoben. In der in der Anfrage genannten Version hat Apple diese Terminalbeschreibung nicht angegeben. Sie tun es jetzt (und haben seit 2015). Hier finden Sie eine Verzeichnisliste mit den zugehörigen Einträgen für MacPorts (in /opt/local), einem lokal erstellten ncurses (in /usr/local) und den Apple/Systemdateien in /usr/share:

-rw-r--r--   1 root         1912 Oct  3 2015    opt/local/share/terminfo/73/screen-256color
-rw-r--r--   1 root         1924 Oct  3 2015    opt/local/share/terminfo/73/screen-256color-bce
-rw-r--r--   1 root         1954 Oct  3 2015    opt/local/share/terminfo/73/screen-256color-bce-s
-rw-r--r--   1 root         1940 Oct  3 2015    opt/local/share/terminfo/73/screen-256color-s
-rw-r--r--   1 root         1912 Apr 12 04:22   usr/local/ncurses/share/terminfo/73/screen-256color
-rw-r--r--   1 root         1924 Apr 12 04:22   usr/local/ncurses/share/terminfo/73/screen-256color-bce
-rw-r--r--   1 root         1954 Apr 12 04:22   usr/local/ncurses/share/terminfo/73/screen-256color-bce-s  
-rw-r--r--   1 root         1940 Apr 12 04:22   usr/local/ncurses/share/terminfo/73/screen-256color-s
-rw-r--r--   1 root         1828 Aug 22 2015    usr/share/terminfo/73/screen-256color
-rw-r--r--   1 root         1840 Aug 22 2015    usr/share/terminfo/73/screen-256color-bce
-rw-r--r--   1 root         1866 Aug 22 2015    usr/share/terminfo/73/screen-256color-bce-s
-rw-r--r--   1 root         1856 Aug 22 2015    usr/share/terminfo/73/screen-256color-s

Sie können einige Details feststellen:

  • unter OSX ignoriert das Standard-Dateisystem die Groß-/Kleinschreibung, daher istshexadezimal codiert (um es vonSzu unterscheiden)

  • die Einträge haben etwas unterschiedliche Größen. Apple hat eine ältere Version der Terminaldatenbank zur Verfügung gestellt, der einige Funktionen fehlen.

  • Mit toe sehe ich folgendes:

 -> /usr/local/ncurses/share/terminfo
 ----> /usr/share/terminfo
 ------> /opt/local/share/terminfo
 * - * - * -: screen-256color GNU Bildschirm mit 256 Farben 
 * - * - * -: screen-256color-bce GNU Bildschirm mit 256 Farben und BCE 
 * - * - * -: screen-256color-bce-s GNU Bildschirm mit 256 Farben unter Verwendung von BCE und Statuszeile 
 * - * - * -: screen-256color-s GNU Bildschirm mit 256 Farben und Statuszeile 

und Vergleich des Systems mit MacPorts:

--- macports    2017-04-26 04:38:21.000000000 -0400
+++ system      2017-04-26 04:40:08.000000000 -0400
@@ -1,19 +1,19 @@
-#      Reconstructed via infocmp from file: /opt/local/share/terminfo/73/screen-256color
+#      Reconstructed via infocmp from file: /usr/share/terminfo/73/screen-256color
 screen-256color|GNU Screen with 256 colors,
        am, km, mir, msgr, xenl,
-       colors#256, cols#80, it#8, lines#24, pairs#32767,
+       colors#256, cols#80, it#8, lines#24, ncv#3, pairs#32767,
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
        clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M,
        csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
        cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
-       cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
-       dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
-       enacs=\E(B\E)0, flash=\Eg, home=\E[H, ht=^I, hts=\EH,
-       ich=\E[%p1%[email protected], il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0,
-       kbs=^H, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
-       kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
+       cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+       dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+       flash=\Eg, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%[email protected],
+       il=\E[%p1%dL, il1=\E[L, ind=^J, [email protected], is2=\E)0, kbs=^H,
+       kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
        kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
        kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
        khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
@@ -22,6 +22,6 @@
        rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h, sc=\E7,
        setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
        setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
-       sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;,
+       sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smcup=\E[?1049h, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g,
0
Thomas Dickey