Essential insights from Hacker News discussions

Mosh Mobile Shell

Here's a summary of the themes from the Hacker News discussion about Mosh:

Project Stagnation and Potential Replacement

A primary theme is the apparent lack of recent development on Mosh, leading to questions about its future and whether newer alternatives have emerged. Some users have migrated to "Eternal Terminal (ET)" as a replacement.

  • "Last commit to master was over two years ago, has mosh been replaced by something else or is the project just 'complete'?" - geoffeg
  • "I have replaced it with Eternal Terminal: https://github.com/MisterTea/EternalTerminal" - Kilenaitor
  • "I used ET but it requires a server process also. Some machines are too locked down to allow this. Wish there was a way to kick start the server on demand." - silverlake
  • "Why update if something is perfect? Like in the old days: final version :) wait for new one in few years :)" - iberator
  • "When mosh came out back in 2013, it solved a pretty real problem of ssh crapping out when you changed networks (like moving from in-office to home). It solves it at the app layer and uses UDP and is designed to work in high loss / latency environments. Very cool." - kenrose
  • "Mosh has been solid for so long. Love it." - pgib

Eternal Terminal (ET) Compared to Mosh

Several users explicitly compare Mosh with Eternal Terminal, highlighting ET's advantages in specific areas. Key distinctions revolve around native scrollback, protocol usage (TCP vs. UDP), and how network issues are handled.

  • "Mosh paints the screen, meaning no native scrollback. You have to use a multiplexer like tmux to get it. But ET has native scrollback. This is the biggest one for me." - Kilenaitor
  • "Couple years ago I was on a more limited network that constrained usage of UDP which Mosh uses. ET uses TCP." - Kilenaitor
  • "Mosh buffers inputs locally first which gives it the appearance of low latency but that illusion breaks when there are network issues. I prefer ET, even tho it can appear slower, since network issues are more obvious and I can troubleshoot them. But on a good connection, they're indistinguishable to me." - Kilenaitor
  • "Those are three. There may be more. Honestly they are probably still more or less interchangeable for most. No reason to switch if you love Mosh." - Kilenaitor
  • "Eternal Terminal works as well as Mosh for me and supports OSC52. I switched to et in order to sync my remote tmux clipboard with my local clipboard." - robenkleene

Mosh's "Illusion of Low Latency" and Input Prediction Drawbacks

A significant point of contention is Mosh's predictive typing, which aims to mask latency. While some find this beneficial, others find it distracting or problematic, especially with interactive ncurses-based applications.

  • "Mosh buffers inputs locally first which gives it the appearance of low latency but that illusion breaks when there are network issues. I prefer ET, even tho it can appear slower, since network issues are more obvious and I can troubleshoot them. But on a good connection, they're indistinguishable to me." - Kilenaitor
  • "I found the typing prediction to be more annoying than it is worth. It worked great in bash but interactive apps (like those based on ncurses), the app would often end up a distorted mess until the round-trip to the server got back the real/correct rendering from the server. If I'm waiting for a round-trip from the server then I'm not getting any benefit from mosh's predictive typing." - craftkiller
  • "I found the 'lets pretend like there is no input latency' thing to be more distracting than useful. As soon as something does not work as expected the illusion is broken. It made me more grumpy than not having it on in the first place." - psanford
  • "I had the opposite experience. I have worked remotely without mosh. The choppiness of responses was more distracting than pretending that the network will always be reliable." - hosh

Scrollback Issues and Workarounds

The lack of native scrollback in Mosh is a recurring complaint, often necessitating the use of terminal multiplexers like tmux or screen, which can introduce their own complexities.

  • "Mosh paints the screen, meaning no native scrollback. You have to use a multiplexer like tmux to get it. But ET has native scrollback. This is the biggest one for me." - Kilenaitor
  • "There was no scroll-back so you could only see 1 terminal screen of output. If you scrolled back, the text would be wrong or truncated or something like that. We would work around this by launching a tmux session and using that for scroll-back, but tmux scroll-back over a remote connection is so much clunkier than scrolling back in your local terminal emulator. If I'm already launching a tmux session, then I don't need mosh's ability to recover from broken connections because I can re-attach to tmux." - craftkiller
  • "I've tried mosh several times and always found it to be more annoying than tmux/screen + living with the reality of dropped connections on mobile." - meepmorp
  • "These days i quite like using shpool: https://github.com/shell-pool/shpool I used to use mosh, tmux before but always got annoyed how they broke scrolling , searching etc.." - saidinesh5

Clipboard Synchronization (OSC52)

A specific feature missing from Mosh that prompted some users to switch is the lack of OSC52 support for clipboard synchronization, although there's some debate on whether this is truly an unresolved issue.

  • "Mosh is so good, but their unwillingness to implement OSC52 for copying to clipboard sent me back to tmux." - lostdog
  • "Eternal Terminal works as well as Mosh for me and supports OSC52. I switched to et in order to sync my remote tmux clipboard with my local clipboard." - robenkleene
  • "I think this actually works now, I use both tmux and mosh and can copy things fine. See e.g. https://gist.github.com/yudai/95b20e3da66df1b066531997f982b57b" - hiq
  • "Don't know the context for that snippet you're sharing, but the issue for OSC 52 support for clipboard syncing is marked as Open in the Mosh repo https://github.com/mobile-shell/mosh/issues/637" - robenkleene

Usefulness in Challenging Network Conditions and Mobile Use

Despite some criticisms, many users find Mosh invaluable for maintaining stable connections over unreliable or mobile networks, especially when switching Wi-Fi or losing signal temporarily.

  • "It's great for SSH from my phone. The connection is just there whenever I unlock my phone." - snickerdoodle12
  • "Close laptop and it's fine. Open laptop next day at work and your session is still there, it just reconnects itself. It's quite satisfying." - kzrdude
  • "Doesn't SSH drop if the connection drops? I keep my connections with Mosh/Eternal Terminal open for weeks or even months at a time, when devices are going in and out connectivity many times." - robenkleene
  • "Working on servers via ssh over mobile hotspot Mosh is a lifesaver" - esseph
  • "A small but noticeable qol improvement when managing servers on the other side of the world. Reliable but fundamentally high latency connection made for annoying ssh, while mosh made it feel like localhost." - nothrabannosir
  • "When doing sysadmin or neteng tasks in remote areas and sometimes on crappy lossy internet, I wish this was on every device. I haven't touched mosh in at least 10 years. JuiceSSH is still my go-to android ssh/mosh client." - esseph
  • "I use mosh to connect to my tmux server at work, so I don't need to worry about connection drops. Once I was in Europe editing a file, then came home, connected to my work VPN, and was right back in the same vim session." - mqtx

Evolution of SSH and Network Layer Solutions

Some users suggest that advancements in underlying network technologies, like WireGuard or Tailscale, have diminished Mosh's unique selling proposition by addressing IP roaming and connection stability at a lower level.

  • "At the same time, in recent years, I've found that ssh running on top of Wireguard / Tailscale is way more usable than 2013 days. Those latter tools address the roaming IP issues directly at the network layer." - kenrose
  • "So while there are still issues with ssh / TCP if you're on a really crappy network (heavy packet loss, satellite link, etc), those have been less common in my experience compared to IP changes. The โ€œkiller use caseโ€ for Mosh feels a lot less killer now." - kenrose
  • "My hypothetical ssh-over-QUIC I'm hoping for just plain-old ssh with all the normal features, just using QUIC instead of TCP. Ideally upstreaming into openssh. I know there are a bunch of projects out there attempting something like ssh-over-QUIC but I think it has to be upstreamed and a drop-in replacement to overcome the popularity moat regular ssh has built." - craftkiller

Alternative Protocols and Future Possibilities

There's a desire for alternatives that might offer the benefits of Mosh (e.g., IP roaming) without its perceived drawbacks, with QUIC being mentioned as a potential underlying technology.

  • "Personally, I'm hoping for a QUIC-based alternative that reaps the benefits of being able to change IP addresses and recover from intermittent connection loss without any of the typing prediction stuff from mosh." - craftkiller
  • "It's a pity Mosh is not supported widely!" - p0deje
  • "Which app ppl use on iOS, the new Blink Shell? Is anyone directing Claude from the phone with it?" - xixixao

Personal Benefits and Use Cases

Some users express strong positive experiences and specific use cases where Mosh has been transformative for their workflow, while others report never finding a tangible benefit.

  • "I remember years ago, I suffered from intermittent SSH issues when using Vagrant with AWS, and I ended up writing a plugin[1] to replace vagrant ssh with vagrant mosh, which fixed most of my disconnects. It's a pity Mosh is not supported widely!" - p0deje
  • "I've tried Mosh several times and never found any tangible benefit in any scenario." - semiinfinitely
  • "I wish this was on every device. I haven't touched mosh in at least 10 years. JuiceSSH is still my go-to android ssh/mosh client." - esseph