调整大小后终端表现奇怪(没有换行)


1

在使用Gnome 3.18的Arch Linux上,当我调整终端窗口的大小并输入一些命令(例如ls 或)时,我遇到了终端行为异常的问题mpv,并通过用鼠标光标拖动窗口边框再次调整大小。

当我按回历史记录,并且该行很长时,不会创建新行(或换行符),但是从左到右覆盖同一行。当我按住键盘时,提示移动到顶部并“吃掉”上面的终端输出。我试过在gnome-terminal,lxterminal和xterm中看到类似的行为,都是从gnome会话开始的。

这是一个演示这种奇怪行为的截屏视频:https//vimeo.com/147162618

这可能是什么,我在哪里可以找到这种行为的原因?

Answers:


0

通常这是由于bash处理窗口大小调整事件的方式的一个怪癖:它可以捕获,SIGWINCH以便它知道如何更新其屏幕宽度的概念以编辑命令行。

看的地方是checkwinsize选项:

checkwinsize

如果置位,击在每个命令之后检查窗口的大小和,如果需要的话,更新的值LINESCOLUMNS

整个功能有问题:

但通常给出的建议是设置选项(如果尚未设置):

shopt -s checkwinsize

进一步阅读:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.