<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hi,</span><div style="font-family:arial,sans-serif;font-size:13px">  I recently discovered mosh.  Great work!</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">  However, I&#39;ve just switched back to ssh, and I want to explain why as a sort of feature-request so I can get back to mosh one day...</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">  I&#39;m not sure exactly what mosh features are needed for the experience I want though.  It may be that simply adding scroll-back is enough (I understand this is already planned - <a href="https://github.com/keithw/mosh/issues/2" target="_blank">https://github.com/keithw/mosh/issues/2</a> ).  It may be that the option for sessions with multiple windows and tabs (as well as scrollback) would improve the experience.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">  Here is the experience I&#39;d like to see with mosh:</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">  My current setup is to use the iTerm terminal program on my mac with tmux.  iTerm interacts very nicely with tmux - there is a one-to-one mapping of tmux windows with iTerm windows and tmux tabs with iTerm tabs.  This works because tmux exposes a control protocol.  See <a href="https://code.google.com/p/iterm2/wiki/TmuxIntegration" target="_blank">https://code.google.com/p/iterm2/wiki/TmuxIntegration</a> and <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&amp;sektion=1#CONTROL+MODE" target="_blank">http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&amp;sektion=1#CONTROL+MODE</a>  My current understanding is that the tmux control protocol and the mosh synchronisation protocols fulfil similar roles - the tmux protocol can handle more complex sessions, and on the other hand the mosh protocol handles unreliable transport.  iTerm acts like mosh-client for the tmux control mode protocol.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">  I use my setup as follows: in an iTerm terminal on my mac I ssh into a server.  I then run &#39;tmux -CC&#39; on the server.  iTerm on the mac detects that tmux has started in control mode and so starts behaving as a tmux frontend.  It generally opens a new window for a new tmux session, but you can ask it to attach to a previous session (whereupon it will open new local windows for each tmux window).  You can then use normal mac UI - scrolling, moving windows around, etc - to interact with the windows and they work like ordinary mac terminal windows.  If you open a new tab locally then you get a new tmux tab on the remote machine.  Everything feels like you&#39;re working locally (or like you&#39;ve opened a remote instance of a terminal program displaying locally using X forwarding).</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">  The one advantage mosh has is the &#39;mobile&#39; part.  If the ssh link above fails then the remote iTerm windows freeze.  You can &#39;force close&#39; the local tmux session, ssh back in and re-attach to the remote session which will reopen all your windows, but it isn&#39;t seamless like mosh.  autossh can make things better, but it still isn&#39;t as good as mosh.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">  I can&#39;t just run tmux in control mode on top of mosh.  The tmux control link is not a screen state to be synchronised, but a protocol running over a stream, so tmux -CC doesn&#39;t work.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">  What I&#39;d like is for there to be a native terminal program on my mac supporting the mosh-client protocol.  With just the addition of a scrollback buffer in mosh-server you&#39;d get mostly the experience I currently get, with the exception that every new tab would need its own mosh connection.  That means an additional login experience (which can be mitigated with the right ssh-agent setup, but still requires me to type &#39;mosh server&#39; at the top of every tab).  If mosh-server also supported multiple windows/tabs within a single session like tmux, then one connection would allow easy opening and closing of windows and tabs.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">  Is there any chance of this happening?  Would it be worth the added complexity?</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Cheers,</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Will             :-}</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div></div>