Wenn ich in einem Pseudoterminal (xterm, gnome-terminal, rxvt, text console und SSH) in Karmic Koala Strg- C drücke , wird die Zeichenfolge ^C
an das Terminal in Ubuntu Karmic Koala zurückgesendet. Dies ist in Ubuntu Jaunty Jackalope nicht geschehen. Ich möchte das Extra loswerden ^C
. Beispiel:
$ cat
foo
foo
^C
$ _
Ich habe das oben genannte durch Eingabe von C , A , T , Eingabe , F , O , O , Eingabe , Strg- C erhalten . Ich möchte das loswerden ^C
und dies für die gleichen Tastendrücke bekommen:
$ cat
foo
foo
$ _
Ich habe die Einstellung versucht stty -echoctl
, die das Problem für rxvt und xterm außerhalb von SSH löste, aber es wurde ein einzelnes Zeichen erstellt, HT
wenn SSH von einem Ubuntu Hardy-System ausgeführt wurde, und es wurde eine Box mit Unicode 0003
anstelle des ^C
in gnome-Terminals erstellt. Ich möchte absolut nichts sehen, wenn ich Strg- C drücke . Ich benutze
Linux linux 2.6.31-20-generic-pae #57-Ubuntu SMP Mon Feb 8 10:23:59 UTC 2010 i686 GNU/Linux
Ich habe diese Terminaleinstellungen in allen Systemen und allen Terminalemulatoren:
ioctl(0, TCGETS, {c_iflags=0x2502, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x7f\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"})
cat
Befehl ist mir wichtig . Die dortige Lösung verbirgt die Escape-Sequenz nicht vor demcat
Befehl in gnome-terminal.stty -a
. Ihre ioctl-Daten sind schwer zu lesen (woher kam das übrigens?).Antworten:
Tun Sie dies und zeichnen Sie die Ergebnisse auf:
Dann versuche es:
Wenn Strg-C dann so funktioniert, wie Sie es erwarten:
und vergleichen Sie die Ergebnisse mit denen, die Sie oben aufgezeichnet haben.
Bearbeiten:
Dies wurde als Bug gegen das Gnome-Terminal abgelegt . Sie können ein ähnliches Verhalten mit erzeugen
printf '\003\n'
. PuTTY und xterm zeigen eine leere Zeile an, aber das Gnome-Terminal zeigt eine Unicode-Box an.quelle
stty sane; stty -echoctl
Scheint für xterm und rxvt zu funktionieren, aber ich bekomme immer noch das 0003-Zeichen im Gnome-Terminal, und ich bekomme immer noch das HT-Zeichen, wenn ich von einem Ubuntu Hardy ... Ubuntu Jaunty-System auf dieses System ssh. Ich kann Ihre Lösung also nicht akzeptieren.printf '\003\n'
. PuTTY und xterm zeigen eine leere Zeile an, aber das Gnome-Terminal zeigt eine Unicode-Box an.0x09
(\011
) nicht0x03
(intr / interrupt / ASCII ETX). Ich glaube, ich habe dieses Problem in Ihrer ursprünglichen Frage übersehen. Erhalten Sie eine Unicode-Box 0009, wenn Sie das tun? Was ist der andere Text, der ihn umgibt, oder welche anderen Informationen können Sie bereitstellen? Dieses Problem würde sich etwas vom ^ C-Problem unterscheiden. Können Sie Ihrer Frage einen Screenshot hinzufügen?Verhindert, dass "^ C" gedruckt wird, wenn die Bearbeitung der aktuellen Eingabeaufforderung abgebrochen wird
quelle