如何在 Linux 上按 Ctrl-C 键时禁止回显 ^C

如何在 Linux 上按 Ctrl-C 键时禁止回显 ^C

当我按下 Ctrl-C在 Karmic Koala 中的任何伪终端(xterm、gnome-terminal、rxvt、文本控制台和 SSH)中,字符串^C都会回显到 Ubuntu Karmic Koala 中的终端。Ubuntu Jaunty Jackalope 中没有发生这种情况。我想删除多余的^C。示例:

$ cat
foo
foo
^C
$ _

我通过输入CA电视进入F进入、Ctrl-C。我想去掉^C,然后通过相同的按键获得这个:

$ cat
foo
foo

$ _

我尝试设置stty -echoctl,这解决了 SSH 之外的 rxvt 和 xterm 的问题,但它HT在从 Ubuntu Hardy 系统进行 SSH 时创建了一个单字符,并且它在 gnome-terminal 中创建了一个带有 Unicode 的框,0003而不是^C。我希望当我按 Ctrl-C。 我在用着

Linux linux 2.6.31-20-generic-pae #57-Ubuntu SMP Mon Feb 8 10:23:59 UTC 2010 i686 GNU/Linux

我在所有系统和所有终端仿真器中都有这些终端设置:

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"})

答案1

执行此操作并记录结果:

stty -a

然后尝试:

stty sane
stty -echoctl

然后,如果 Ctrl-C 按您预期的方式工作:

stty -a

并将结果与​​您上面记录的结果进行比较。

编辑:

这已被归档为错误gnome 终端。您可以使用 产生类似的行为printf '\003\n'。PuTTY 和 xterm 显示一个空白行,但 gnome-terminal 显示一个 Unicode 框。

答案2

相关内容