所以,当我cat /dev/input/mouse0
在 TTY 中时,稍微移动鼠标,然后ctrl-z
停止cat
,我的终端字符都搞砸了。几乎每个字符都被替换为 ASCII 字符集中的另一个字符。当我在 Python 3.2 中执行此操作时,也会发生同样的情况:
print('\033[1;12mTest.\033[1;m')
Run Code Online (Sandbox Code Playgroud)
相同的症状不会出现在 GUI 的 shell 上,只会出现在虚拟终端上。如果我注销,问题不会消失。我怀疑某个转义码(可能包含在 Python 代码中)正在将 ASCII 字节码重新映射到字符表示,但这只是猜测。发生了什么以及如何撤消它?