<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Will !<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">My gut feeling is that the functionality you are seeking should be implemented by extending tmux / iTerm to maintain the mosh-like ssh link failure recovery
mechanism.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Extending mosh to handle your particular use case would be like an open invitation for every other comparable combination of terminal emulator and server-side
session management to be supported. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I’m sure the mosh designers and implementers will chime in with their observations. I’m merely giving my support for keeping mosh (and all the other utilities
that I use) to be as simple as possible.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Eugene<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> mosh-users-bounces@mit.edu [mailto:mosh-users-bounces@mit.edu]
<b>On Behalf Of </b>William Uther<br>
<b>Sent:</b> Friday, 29 November 2013 6:15 PM<br>
<b>To:</b> mosh-users@mit.edu<br>
<b>Subject:</b> [mosh-users] Mosh, iTerm and tmux<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Hi,</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> I recently discovered mosh. Great work!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> However, I'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...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> I'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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> Here is the experience I'd like to see with mosh:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> 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&sektion=1#CONTROL+MODE" target="_blank">http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> I use my setup as follows: in an iTerm terminal on my mac I ssh into a server. I then run 'tmux -CC' 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're working locally (or like you've opened
a remote instance of a terminal program displaying locally using X forwarding).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> The one advantage mosh has is the 'mobile' part. If the ssh link above fails then the remote iTerm windows freeze. You can 'force close' the local tmux session, ssh back
in and re-attach to the remote session which will reopen all your windows, but it isn't seamless like mosh. autossh can make things better, but it still isn't as good as mosh.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> I can'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't
work.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> What I'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'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 'mosh server'
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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> Is there any chance of this happening? Would it be worth the added complexity?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Cheers,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Will :-}<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
</div>
</div>
</div>
</body>
</html>