webentwicklung-frage-antwort-db.com.de

Backspace, Tab, Del und Pfeiltasten funktionieren nicht im Terminal (mit ssh)

Wenn ich mit meinem Konto (mit Sudo-Berechtigungen) auf einen anderen Ubuntu-Rechner shge, erzeugt meine Rücktaste beim Drücken einige unangenehme Symbole. Auch Tab, Entf und Pfeiltasten funktionieren nicht.

Andererseits habe ich auch ein anderes Konto auf demselben Computer und wenn ich dieses Konto durchschaue, funktioniert sein Terminal einwandfrei. Ich konnte nicht herausfinden, warum das passiert.

41
gopi1410

EDIT: Referenz: Matengs Antwort

Mateng ist ziemlich nah dran, dass Sie wahrscheinlich Bourne Shell ausführen. Sie sollten Ihre /etc/passwd -Datei jedoch nicht direkt bearbeiten. Verwenden Sie stattdessen den Befehl chsh:

chsh -s /bin/bash

Das Flag -s macht die neue Shell (in diesem Fall Bash) zu Ihrer Login-Shell.

30
Aaron

Die folgenden Änderungen haben das Problem für mich gelöst. Zuerst habe ich überprüft, welche Shell ausgeführt wird:

$ echo $0

was zurückkehrte:

/bin/sh

Wie ich in diesem Beitrag in Ubuntuforums gelesen habe, bringt das Ändern der Shell in /bin/bash die Lösung. Also habe ich meine Benutzereinstellungen in /etc/passwd bearbeitet, um:

johndoe:x:1001:104:John Doe:/home/johndoe:/bin/bash

Ich habe mich abgemeldet und mich dann wieder angemeldet. Seltsamerweise musste ich die Shell manuell wechseln (vielleicht war ein Teil des Cache aktiv), indem ich Folgendes eingab:

/bin/bash

Voila!
[Das Problem ist auf ein Distributionsupdate zurückzuführen.]

16
Mateng

probieren Sie diese beiden Befehle aus, wenn Sie zum ersten Mal ssh eingeben

stty sane
export TERM=linux

Ich muss dies auf einigen Computern tun, auf denen ich genau dieses Problem behebe

13
Drake Clarris

Eine der einfachsten Möglichkeiten, dieses Problem zu beheben, besteht darin,/bin/bash an der Eingabeaufforderung der Befehlszeile einzugeben:

$/bin/bash

Mit dem oben genannten Befehl wird die Bourne Again-Shell als Unterprozess über der vorhandenen Shell ausgeführt. Dies hat den Nachteil, dass mehr Ressourcen verwendet werden, jedoch nichts bearbeitet werden muss und keine besonderen Berechtigungen erforderlich sind. In neueren Kubuntu-Versionen wird beispielsweise eine/bin/bash-Sitzung über der Standard-Shell-Oberfläche/bin/dash gestartet.

Um die Änderungen beizubehalten, besteht eine Möglichkeit darin, die Datei/etc/passwd zu bearbeiten und die Standard-Shell nach dem letzten ':' - Zeichen in der dem Benutzer entsprechenden Zeile in/bin/bash einzufügen/zu bearbeiten/zu ersetzen. Zum Bearbeiten dieser Datei sind jedoch Administratorrechte erforderlich.

5

Ich habe alle obigen Plus-Notizen von ( dieser Link ) ohne Erfolg versucht. Möglicherweise möchten Sie überprüfen, ob vim installiert ist.

Normalerweise benutze ich vi nicht vim. Also habe ich vim installiert.

$ Sudo apt-get install vim

Danach funktionierten die Tastaturanschläge ordnungsgemäß, als ich vi ausführte. Wenn man sich die Ausgabe des Folgenden ansieht, sieht es so aus, als ob vi nach der Installation zu einem Alias ​​für vim gemacht wurde:

$ ls -al /etc/alternatives | grep vi 
lrwxrwxrwx   1 root root    18 Jan 13 09:38 vi -> /usr/bin/vim.basic
1
jtlindsey

'Gbnome Terminal' emuliert nicht genau 'xterm'.

von: Wikipedia >> GNOME Terminal

GNOME Terminal emuliert den xterm-Terminalemulator und bietet einige der gleichen Funktionen.


Eine Abhandlung über das Problem und die Lösung (en) finden Sie hier:

Linux Backspace/Mini-HOWTO löschen

Jeder Linux-Benutzer war früher oder später in einer Situation gefangen, in der es unmöglich schien, die Backspace- und Delete-Tasten auf der Konsole und auf X zu verwenden. In diesem Artikel wird erläutert, warum dies geschieht, und es werden Lösungen vorgeschlagen. Die hier gegebenen Begriffe sind im Wesentlichen verteilungsunabhängig: Aufgrund des sehr unterschiedlichen Inhalts der Systemkonfigurationsdateien in jeder Distribution werde ich versuchen, dem Leser genügend Wissen zu vermitteln, um bei Bedarf seine eigenen Korrekturen zu finden.

Ich gehe davon aus, dass die Rücktaste ein Zeichen zurückgehen und dann das Zeichen unter dem Cursor löschen soll. Andererseits sollte die Entf-Taste das Zeichen unter dem Cursor löschen, ohne es zu verschieben. Wenn Sie der Meinung sind, dass die Funktion der beiden Tasten vertauscht werden sollte, obwohl die meisten Tastaturen über einen Pfeil verfügen, der auf der Rücktaste nach links (←) zeigt, erhalten Sie in diesem Dokument keine sofortigen Lösungen, aber mit Sicherheit auch Sie Vielleicht finden die hier gegebenen Erklärungen nützlich.

Die einfachste Lösung (die hier funktionieren kann) ist: bash $ export TERM = gnome

1
david6

Bearbeiten Sie als Root-Benutzer die Datei/etc/passwd für Ihren Benutzer und wechseln Sie von/bin/sh zu/bin/bash

hdfs: x: 1020: 1001 ::/home/hdfs:/bin/sh zu hdfs: x: 1020: 1001 ::/home/hdfs:/bin/bash

Das hat bei mir funktioniert.

1
Nagaraj Vittal

Dies ist ein Kompatibilitätsproblem mit der Tastatur, d. H. Wie sie im Host-System interpretiert wird. Möglicherweise müssen Sie j oder h verwenden, um sich im vi-Editor im Befehlsmodus zu bewegen. Pfeile funktionieren nicht.

Überprüfen Sie die Profileinstellungen -> Kompatibilität im Hostsystem für diesen bestimmten Benutzer.

0
sai siva sundar

Okay, ich weiß, dass dies keine "Lösung" ist und es kann vielen von Ihnen nicht helfen, aber hoffentlich hilft es mindestens einem von euch. Es hat mein Problem behoben.

Mein sechs Monate altes Kind schlug auf meine Tastatur und meine Pfeiltasten funktionierten nicht mehr in meiner PuTTY-Sitzung in einer Debian-Box. Sie haben überall gearbeitet (alle anderen Programme außerhalb von PuTTY). Nachdem ich googelt und sogar hier gelandet war (ich wollte diesen Tab schließen, er hat ihn für mich nicht gelöst). Ich habe etwas versucht. Ich habe eine neue SSH-Sitzung in derselben Box eröffnet, und meine Pfeiltasten haben funktioniert. Ich nahm an meiner Bildschirmsitzung teil und sie funktionierten nicht. Es ist also etwas passiert, das mit der aktuellen Bildschirmsitzung zusammenhängt und die Pfeiltasten deaktiviert. Leider war (bin) ich mitten in einem großen Projekt, habe 28 Fenster in meiner Bildschirmsitzung geöffnet und wollte die Sitzung nicht schließen und habe meinen Platz in allen 28 Fenstern verloren.

Damit..

Auf der Bash-Shell habe ich alle denkbaren Kombinationen ausprobiert: STRG + hoch, runter, links rechts, ALT + hoch, runter, links, rechts, UMSCHALT + hoch, runter, links rechts, STRG + ALT + hoch, runter , links rechts, STRG + UMSCHALT + hoch, runter, links rechts usw. Immer noch ohne Glück habe ich auch das Windows-Menü und die Windows-App-Tasten mit hoch, runter, links rechts ausprobiert.

Jetzt funktionieren meine Pfeile wieder! Irgendetwas an einer der Kombinationen von dem, was oben steht, und den Pfeiltasten hat es behoben.

0
PyTis

Keine der obigen Antworten behebt mein identisches Problem, d. H. Ich kann keine Rücktaste oder ähnliche Tasten verwenden, nachdem ich von einem Ubuntu auf eine Remote-Station gesendet habe (hier Ubuntu-17.10 mit ncurses-6.0).

Dies ist ein Problem mit terminfo. Grundsätzlich sagt mein Gnome-Terminal, dass es sich um ein xterm-256color-Terminal handelt (über die TERM-Variable, die von ssh zur Fernbedienung exportiert wird), aber die Fernbedienung hatte keine terminfo-Konfiguration für xterm-256color.

Folgendes behebt das Problem:

 $ Host: echo $ TERM 
 Xterm-256color 
 $ Host: infocmp> terminfo.src 
 $ Host: tic terminfo.src 
 $ Host: scp .terminfo/x/xterm-256color $ remote:/usr/share/terminfo/x/xterm-256color 

infocmp erzeugt ohne jede Option eine Quellenliste für das Terminal in der Umgebungsvariablen $ TERM. Es ist also äquivalent zu infocmp -I $ TERM.

Dann wird die resultierende Quelle über TIC kompiliert.

Installieren Sie abschließend die entsprechende Terminfo-Konfiguration am Remote-Standort. Wenn ich mich das nächste Mal über $ Host mit $ remote verbinde, wird mein Terminal bekannt.

0
user1448926