ssh vom Bildschirm führt zu einem unbekannten Terminalfehler

9

Ich versuche, innerhalb des Bildschirms eine SSH-Verbindung (über LSH) von einem Ubuntu-Host zu einem anderen herzustellen. Wenn ich danach versuche, mcdirekt zu laufen , wird folgende Fehlermeldung angezeigt:

Unknown terminal: screen-256color-s
Check the TERM environment variable.
Also make sure that the terminal is defined in the terminfo database.
Alternatively, set the TERMCAP environment variable to the desired
termcap entry.

Die Frage ist - wer verursacht diesen Fehler? Ist es ein lokaler Gastgeber? Fernbedienung? Fehlt ein Paket (welches?), etwas, das nicht erledigt wurde lsh-server? oder Kunde?

Nur um klar zu sein - ich möchte keine Problemumgehungen wie "TERM = xterm mc", sondern visuelle Themen verwenden, die 256 Farben auf der (Remote-) Konsole unterstützen.

Gott
quelle

Antworten:

7

Stellen Sie zum Beispiel einfach einen anderen BEGRIFF ein

TERM="rxvt"

oder

TERM="xterm"

oder

TERM="vt102"

Vielleicht export TERMhilft auch ein.

Die TERMVariable wird von cursesund termcapProgrammen wie mcoder verwendet dialog, um die Terminal-Escape-Codes aus den terminfo / termcap-Datenbanken zu lesen, in denen der Befehl ausgeführt wird, also in Ihrem Fall im Remote-System.

Um den TERM-Typ "screen-256color-s" zu unterstützen, muss dieser Terminaltyp in der Datenbank installiert sein.

Als guten Ausgangspunkt lesen man 5 terminfo.

ikrabbe
quelle
6

Schließlich habe ich es geschafft, ein "offensichtliches" Paket zu finden, das Bildschirm-256-Farben liefert (muss auf einem Remote-Computer installiert werden):

sudo apt install ncurses-term

Das Problem wurde für mich behoben: schöne 256 Farben und keine Notwendigkeit für hässliche Problemumgehungen mit Umgebungsvariablen. Hurra! :) :)

Gott
quelle
hat bei einem alten Ubuntu 12.04 nicht funktioniert. ncurses-term gut installiert, aber ich bekomme immer noch 'screen.xterm-256color': unbekannter Terminaltyp.
Calimo
4

GNU screenstellt $TERMlokal ein und sshübergibt diesen Wert an die Remote-Seite. Es gibt einige Dinge, die Sie tun können.

  • Erkennen Sie die screen-256-color-sauf der entfernten Seite und stellen Sie sie auf einen vernünftigeren Wert ein. Daraus können Sie haben case $TERM in screen-256*) TERM=screen;; esac.
  • Von der lokalen Seite haben Sie screendas Terminal eingestellt. In Ihrer ~/.screenrcDatei haben : term screen.
  • Wenn Sie einen screenBefehl zum Öffnen des sshAnrufs haben, fügen Sie eine -TOption hinzu:screen -T screen ssh user@host
  • Stellen Sie in Ihrem lokalen ~/.bashrcTerminal das Terminal ein, wenn es das inkompatible Terminal erkennt, das dem oben genannten ähnlich ist.
Arcege
quelle