Linux 虚拟控制台 (ctrl+alt+f2) 滚动超过显示器边缘

Linux 虚拟控制台 (ctrl+alt+f2) 滚动超过显示器边缘

我运行centos linux 7

内核3.10.0-957

显卡是nvidia,分辨率2560,1440

echo $TERM 返回 linux

在我的所有 ctrl+alt+f# 虚拟控制台中,文本滚动到显示屏的底部。这很难描述,但看起来显示器似乎只显示了显示屏的顶部部分。

我的提示从显示器顶部开始。然后我按回车键并在该提示下方出现一个新提示(到目前为止没有什么意外!)。但是,如果我继续这样做,当提示到达显示屏底部时,它不会滚动。如果我捕获一些长文件,类似的行为...提示会在显示屏下方消失。我通过输入“清除”或“重置”来恢复提示。

请注意,vim 工作正常...它的 : 提示符按预期出现在显示屏底部。

我遵循了一些关于设置 GRUB_GFXMODE 来调整控制台分辨率的教程,但这没有效果。

请帮助我使用虚拟控制台纠正此问题。

答案1

bash 的使用$LINES并不重要。重要的是你用 看到的屏幕大小stty,例如,

$ stty -a
速度38400波特;第 40 行;第 80 栏;行=0;
intr = ^C;退出=^\;擦除=^H;杀死=^U; eof = ^D;停产 = ;
尾数2 = ;开关=;开始=^Q;停止=^S;暂停=^Z; rprnt = ^R;
韦拉塞 = ^W;下一个 = ^V;丢弃=^O;分钟= 1;时间=0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

bash 使用信息而不是$LINES$COLUMNS

例如,您可能有一个执行类似操作的脚本

$ stty 行 99
$ stty -a
速度38400波特;第 99 行;第 80 栏;行=0;
intr = ^C;退出=^\;擦除=^H;杀死=^U; eof = ^D;停产 = ;
尾数2 = ;开关=;开始=^Q;停止=^S;暂停=^Z; rprnt = ^R;
韦拉塞 = ^W;下一个 = ^V;丢弃=^O;分钟= 1;时间=0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

如果 bash 对屏幕大小(行或列)感到困惑,那么它的行编辑就不能很好地工作。

相关内容