Das Problem ist wahrscheinlich, dass das Programm die richtige Bildschirmgröße nicht kennt. Normalerweise kann das System diese Informationen vom Terminalprogramm erhalten. Aber manchmal kann es nicht, oder es wird außer Kraft gesetzt.
Wenn Sie davon ausgehen, dass Sie ein Unix-ähnliches System verwenden, kann der stty
Befehl anzeigen, was das System der Meinung ist, dass die Bildschirmgröße die folgende ist:
$ stty -a speed 38400 baud; rows 40; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 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 $
Die Werte rows
und columns
sind das, was das System für die Bildschirmgröße hält. Wenn dies nicht der Fall ist, können Sie stty
sie verwenden, z. B.
stty rows 50 columns 132
Aber eine bessere Möglichkeit ist die Verwendung resize
(einfach durch Ausführen wird dieselbe Schnittstelle aufgerufen, die stty
liest).
Jedoch stty
kann zeigen korrekte Werte. Ihre Umgebung überschreibt möglicherweise ihre Einstellungen mit den Umgebungsvariablen LINES
und / oder COLUMNS
. (Dies sind seit langem bestehende Krücken für Termcap-Anwendungen). Wenn Sie diese Variablen nur deaktivieren , wird das Problem behoben .
Lesen Sie weiter:
- RFC 1073 - NAWS (Aushandeln der Fenstergröße)
- Größe ändern (1)
- use_env (3) beschreibt die Umgebungsvariablen
- stty (1) gibt an, wie Terminaleinstellungen festgelegt / abgerufen werden