我运行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 对屏幕大小(行或列)感到困惑,那么它的行编辑就不能很好地工作。