Live data from Hacker News

Mosh: The Mobile Shell

mosh.org

41–50 of 158 posts

Re: Mosh: The Mobile Shell

#41

Earlier quoted context omitted.

They're talking about Eternal Terminal, I think https://eternalterminal.dev/ I'd be curious about the trade offs too, I'll have to check it out.

It works in identical fashion to mosh. I don't see any trade-offs except: 1. et has scrolling support 2. et does not have local echo of your input like mosh does Edit: The comments below do a very good job of explaining the differences. TIL.

I don't believe it's identical at all. Eternal terminal is a TCP-like abstraction that adds another layer of tracking and acknowledgement so that the reliable ordered byte stream can be reconnected and resumed. Mosh is more like a video codec mixed with a terminal that knows how to do limited, speculative local echo that gets subsequently corrected once the display round trip is complete. They're fairly different in approaches.

For example eternal terminal has to send all of the bytes in order, so more output requires more bandwidth. Mosh only has to redraw bits of the frame that have changed, at a presumably adaptive rate -- you could scroll a hundred megabytes of text by really quickly, but only need to send a few screen-fulls of updates, which is of course why it doesn't allow for regular terminal scrollback.

Re: Mosh: The Mobile Shell

#42

Earlier quoted context omitted.

They're talking about Eternal Terminal, I think https://eternalterminal.dev/ I'd be curious about the trade offs too, I'll have to check it out.

It works in identical fashion to mosh. I don't see any trade-offs except: 1. et has scrolling support 2. et does not have local echo of your input like mosh does Edit: The comments below do a very good job of explaining the differences. TIL.

> It works in identical fashion to mosh.

No, it doesn’t. The best way I understand it is that mosh syncs a “view” of your current session, whereas et just sends everything. In practice, what this means is if I accidentally cat a 5GB file, mosh zips past as if I were working locally (and ^C works!) whereas et completely locks up until the file reaches its end. That said I still prefer and use et daily due to the scrollback and tmux -CC support.

Re: Mosh: The Mobile Shell

#43
post #4

Note that Mosh has not had release for 4 years, even when pull requests are accepted on github, and the team lead says "we are too busy/burned out". https://github.com/mobile-shell/mosh/issues/1115

I think the truth is that we don't feel like we need a release. We've never had a security hole, our track record speaks for itself, and I wouldn't really want us to rush anything and blow that. There are some features that it would be really nice to have in a release (like 24-bit color support, and working around a recent MacOS clock bug), but I handed over the maintainership to somebody else about six years ago and that person is currently, I think, dealing with a bunch of stuff (look around the world the last year...). I'm not eager to step back in and bigfoot them -- especially when I'm no longer particularly familiar with the codebase (and recent commits) as I used to be.

Mosh works as advertised and has never had a security hole -- we're pretty proud of that! We'll probably cut a release at some point to add those features (24-bit colors, the MacOS clock workaround) but I'm not feeling like it's urgent enough to upset what I had hoped was a transition plan.

It would feel arrogant to compare Mosh to TeX, but it doesn't seem that crazy to imagine that some software might reach a point where it has accomplished 95% of its goals, and the benefit from adding further features has to be weighed against the risk of introducing a security hole or other regression through further churn. If the TCP specification, or OpenSSH, or TeX, or GNU bash had canonical GitHub repositories, they would probably be full of a bunch of user support issues and inactive PRs too. :-)

Re: Mosh: The Mobile Shell

#44
Mosh is perfect for ephemeral client connections to a long-standing session. My ipad likes to kill ssh sessions every time the screen locks. But using mosh insulates me from that and I just go back to a hot shell with no interruption.

Re: Mosh: The Mobile Shell

#45
post #12

Earlier quoted context omitted.

i didn't know that, and that bums me out. is what's there good enough to not care that there aren't frequent updates?

Certainly for me it's been good enough, I use it daily and haven't run into any issues. I know people mention there are issues with some Unicode characters. Somehow I've never hit those issues, so I'm happy.

Unicode (really, knowing the width and printability of any given character) is mostly up to the C library on the client and server -- Mosh has historically stayed out of that. Unfortunately Apple is not always super-great about keeping their C library up to date with new Unicode releases, which leads to some frustration, and even on Linux it takes too long for a new Unicode release to percolate down to the libc on the client AND server. (I think the model of "libc implements wcwidth" probably made more sense in the era before Unicode decided to start pumping out new releases every year with lots of new characters everybody wants to use. But we try to keep Mosh's own attack/implementation surface small.)

Re: Mosh: The Mobile Shell

#46
post #4

Note that Mosh has not had release for 4 years, even when pull requests are accepted on github, and the team lead says "we are too busy/burned out". https://github.com/mobile-shell/mosh/issues/1115

I think the truth is that we don't feel like we need a release. We've never had a security hole, our track record speaks for itself, and I wouldn't really want us to rush anything and blow that. There are some features that it would be really nice to have in a release (like 24-bit color support, and working around a recent MacOS clock bug), but I handed over the maintainership to somebody else about six years ago and…

Maybe I was wrong about the burnout, I now read the thread and don't see it there. Maybe I remember wrong what I read.

Sorry if I mis-represented something.

Re: Mosh: The Mobile Shell

#47
post #38

Mosh original author here -- fun to see us back here yet again. Happy to answer any questions.

Are you planning on addressing some of the long-standing issues relating to e.g. Unicode rendering?

Please see https://news.ycombinator.com/item?id=28151652 , but happy to discuss further if you want.

Re: Mosh: The Mobile Shell

#48
post #21

mosh is basically a proof of concept as a college project - it is missing Unicode and ssh-agent forwarding which may be significant for some. Otherwise it works decently well for what it does. For many screen and normal ssh will do the job.

Re: Unicode, please see https://news.ycombinator.com/item?id=28151652. (Mosh really just uses your C library for knowing the width of characters -- if the server's and client's libc support a character, Mosh will too. Unfortunately Apple in particular has historically been not super-great about keeping theirs up-to-date once Unicode went to an annual release cycle. screen and tmux have similar issues and basically ship their own Unicode tables, which has its own problems.)

For ssh-agent forwarding, most people are using https://github.com/StanfordSNR/guardian-agent which is more secure than traditional agent forwarding, and works with SSH or Mosh.

Re: Mosh: The Mobile Shell

#49
post #27
post #21

mosh is basically a proof of concept as a college project - it is missing Unicode and ssh-agent forwarding which may be significant for some. Otherwise it works decently well for what it does. For many screen and normal ssh will do the job.

It's the tragedy of open source. Lots of times, the software used by hundreds of FAANG developers is maintained by a single overworked developer in their spare time. If I could get paid to work on mosh I would.

How much do you want? We'd very much welcome your involvement -- we'd love to have you start helping out in the IRC channel, help us put together a credible plan for the next release (probably helping the current maintainers), and let's talk.
Post reply on HN