<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 28, 2013 at 4:31 PM, Jeff Frontz <span dir="ltr">&lt;<a href="mailto:jeff.frontz@gmail.com" target="_blank">jeff.frontz@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Yeah, someone else ran into this:<br>
<a href="http://ubuntuforums.org/showthread.php?t=865420" target="_blank">http://ubuntuforums.org/showthread.php?t=865420</a><br>
<br>
Summary:  &quot;You have to trap SIGWINCH in your expect script and<br>
propagate this to the child.&quot;</blockquote><div><br></div><div><br></div><div style>Trapping the signal did the trick.  Thanks!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5">
&gt; I always thought it was SIGWINCH that prompted an app (or, rather, its<br>
&gt; library) to go out and query the terminal for [potentially] new<br>
&gt; dimensions.  And I&#39;m guessing the &quot;query&quot; is dependent on the TERM<br>
&gt; type-- which, if I remember correctly, is sent over by ssh on<br>
&gt; interactive login.<br>
&gt;<br>
&gt; When you&#39;re running it with &quot;expect&quot;, what environment variables are<br>
&gt; you seeing on the remote?<br>
</div></div></blockquote><div><br></div><div style>all of the normal variables seem to be there like</div><div style><br></div><div style>TERM=xterm-256color<br></div><div style>SSH_TTY=/dev/pts/0<br></div><div style><br>
</div><div style>etc</div><div><br></div><div><br></div><div style>thanks again!</div><div style>-rick</div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5">&gt;<br>
&gt;<br>
&gt; Jeff<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Mar 28, 2013 at 2:41 PM, Rick Hornsby &lt;<a href="mailto:richardjhornsby@gmail.com">richardjhornsby@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Trying to understand the relationship between resizing a terminal, stty, and<br>
&gt;&gt; how the remote side gets that information that the window has been resized.<br>
&gt;&gt;<br>
&gt;&gt; The issue is that I can ssh into a linux host with no issues, resize my<br>
&gt;&gt; window all day long and the remote side sees the resize (confirmed by stty<br>
&gt;&gt; -a | grep row).<br>
&gt;&gt;<br>
&gt;&gt; However, we have a very small expect wrapper that we use most of the time to<br>
&gt;&gt; log in.  The expect wrapper goes to a credential store to fetch the password<br>
&gt;&gt; (yeah, I know, public keys, etc ... that&#39;s a long story), and passes the<br>
&gt;&gt; password to the prompt.<br>
&gt;&gt;<br>
&gt;&gt; When I use the expect wrapper to log in, the remote side never sees the<br>
&gt;&gt; resize.  I can manually set the window size using stty, but I&#39;m unclear on<br>
&gt;&gt; why wrapping it in expect is causing this issue.  The terminal type is the<br>
&gt;&gt; same in both cases, and I&#39;ve confirmed this behavior in two different<br>
&gt;&gt; terminal applications (Terminal.app and iTerm2).<br>
&gt;&gt;<br>
&gt;&gt; How does the remote side know about the resize?  Is it some kind of<br>
&gt;&gt; backchannel communication, or is there some kind of escape code getting<br>
&gt;&gt; sent?<br>
&gt;&gt;<br>
&gt;&gt; This is the essence of the expect script, if it helps put it in context:<br>
&gt;&gt;<br>
&gt;&gt; ---<br>
&gt;&gt; spawn -noecho ssh -o PubKeyAuthentication=no -o StrictHostKeyChecking=no<br>
&gt;&gt; root@$host $cmd<br>
&gt;&gt;<br>
&gt;&gt; expect &quot;?*password?*&quot;<br>
&gt;&gt; send &quot;$passwd\r&quot;<br>
&gt;&gt;<br>
&gt;&gt; interact<br>
&gt;&gt;<br>
&gt;&gt; exit 0<br>
&gt;&gt; ---<br>
&gt;&gt;<br>
&gt;&gt; (yes -- first rule -- never, ever log in as root -- if I could get my giant<br>
&gt;&gt; company with our 10s of thousands of servers to understand that life would<br>
&gt;&gt; be much easier.)<br>
&gt;&gt;<br>
&gt;&gt; the $cmd part is ignored if it wasn&#39;t provided.<br>
&gt;&gt;<br>
&gt;&gt; termtype all that behind the scenes stuff re a terminal is a topic I<br>
&gt;&gt; admittedly don&#39;t understand very well.<br>
&gt;&gt;<br>
&gt;&gt; thanks<br>
&gt;&gt; -rick<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; colug-432 mailing list<br>
&gt;&gt; <a href="mailto:colug-432@colug.net">colug-432@colug.net</a><br>
&gt;&gt; <a href="http://lists.colug.net/mailman/listinfo/colug-432" target="_blank">http://lists.colug.net/mailman/listinfo/colug-432</a><br>
&gt;&gt;<br>
_______________________________________________<br>
colug-432 mailing list<br>
<a href="mailto:colug-432@colug.net">colug-432@colug.net</a><br>
<a href="http://lists.colug.net/mailman/listinfo/colug-432" target="_blank">http://lists.colug.net/mailman/listinfo/colug-432</a><br>
</div></div></blockquote></div><br></div></div>