Re: Not setting TERM explicitly wraps commands at 80 columns with nested shells in xterms using sh + bash?

From: Jilles Tjoelker <jilles_at_stack.nl>
Date: Fri, 21 Oct 2011 14:27:55 +0200
On Fri, Oct 21, 2011 at 12:52:17AM -0700, Garrett Cooper wrote:
> # Increased the window size here.
> [gcooper_at_fallout ~]$ uname -a
> FreeBSD fallout.local 10.0-CURRENT FreeBSD 10.0-CURRENT #1 r226332M:
> Wed Oct 12 22:48:55 PDT 2011
> root_at_fallout.local:/usr/obj/usr/src/sys/FALLOUT  amd64
> [gcooper_at_fallout ~]$ stty size
> 60 156
> [gcooper_at_fallout ~]$ exit
> Connection to fallout.local closed.
> [gcooper_at_bayonetta ~]$ uname -a
> FreeBSD bayonetta.local 9.0-BETA2 FreeBSD 9.0-BETA2 #0 r225653M: Tue
> Sep 20 08:36:49 PDT 2011
> gcooper_at_bayonetta.local:/usr/obj/usr/src/sys/BAYONETTA  amd64
> [gcooper_at_bayonetta ~]$ stty size
> 60 156
> # Line was wrapping in above uname -a.

> [gcooper_at_bayonetta ~]$ ssh starr-wireless
> # Increased the window size here from the default.
> starr:~ gcooper$ uname -a
> Darwin starr.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7
> 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
> starr:~ gcooper$ echo $TERM
> xterm
> starr:~ gcooper$ logout
> Connection to starr-wireless.local closed.
> [gcooper_at_bayonetta ~]$ uname -a
> FreeBSD bayonetta.local 9.0-BETA2 FreeBSD 9.0-BETA2 #0 r225653M: Tue
> Sep 20 08:36:49 PDT 2011
> gcooper_at_bayonetta.local:/usr/obj/usr/src/sys/BAYONETTA  amd64

>     ssh'ing in to a remote terminal and resizing it is an example I
> could think of that's semi-deterministic. It seems like it's an
> application bug or OS caveat; I'm not sure if anything can really be
> done about it because the signal might be masked in ssh when it
> connects to the other side -- would have to check to be sure.

By default, bash only updates its internal idea of the window size (and
the LINES and COLUMNS environment variables) when it receives SIGWINCH,
so only if bash is in the foreground when the change happens. You can do
  shopt -s checkwinsize
to make it check more often.

libedit (as used in sh) is different; it appears to check the size
before reading each line.

-- 
Jilles Tjoelker
Received on Fri Oct 21 2011 - 10:27:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:19 UTC