HN
Today

A native graphical shell for SSH

Outer Shell proposes a "native graphical shell for SSH," fundamentally reimagining remote server interaction by treating apps as simple HTTP servers communicating via Unix domain sockets, secured by SSH. This innovative approach aims to simplify and integrate graphical tools on remote machines, addressing shortcomings of existing solutions like X11 forwarding and individual web apps. Its ambitious vision for a "remote-first" graphical OS and "multi-platform" web has ignited spirited debate on HN regarding its novelty, utility, and even the very definition of a "shell."

101
Score
50
Comments
#3
Highest Rank
6h
on Front Page
First Seen
Jun 29, 4:00 PM
Last Seen
Jun 29, 9:00 PM
Rank Over Time
533345

The Lowdown

Marcus Lewis presents "Outer Shell," a novel approach to remote computing that aims to provide a native graphical shell over SSH. The core idea is to enable servers and edge devices to serve browser-based graphical "shells" with a home screen of apps. Each app would function as a small, dependency-free HTTP server, serving a web UI and communicating via Unix domain socket files rather than localhost ports, with SSH handling encryption.

  • The system leverages "Outer Loop," an SSH browser built for this paradigm, and offers "Outer Shell" as an open-source framework.
  • Apps can be conventional HTML-based web apps or "native outerframe" apps, aiming for platform-specific frontends based on a cross-platform protocol.
  • Lewis argues that current solutions like Jupyter or Tensorboard lack a unified, secure framework, necessitating workarounds like SSH port forwarding. His system aims to deliver these "correctly" within a "remote-first" graphical operating system model.
  • He highlights the "niche" nature of browser capabilities like Unix socket connections as a missed opportunity, suggesting that combining it with SSH and sudo awareness unlocks new possibilities.
  • The author envisions a "multi-platform" web where AI can help generate platform-tailored code for apps, moving beyond a purely cross-platform web.

In essence, Outer Shell proposes a reimagined way to interact with remote machines, offering a more integrated, graphical, and potentially secure alternative to traditional CLI and individual web-based tools, positioning it as a fundamental shift in how we perceive and utilize remote computing environments.

The Gossip

Familiar Forms & Forebears

Many commenters questioned if Outer Shell truly offers something new, drawing comparisons to existing technologies like X11 forwarding, VNC, RDP, or commercial solutions like MobaXterm. Some argued that current methods like SSH port forwarding, VPNs, or simple reverse proxies (e.g., with Caddy) are sufficient and less complex for exposing web services. The author clarified that browser security concerns historically prevented direct Unix socket access, which his project addresses.

Semantical Shell Shock

A significant portion of the discussion revolved around the term "shell" itself. Some commenters asserted that a shell inherently implies a Command Line Interface (CLI), citing decades of history. Others, including the author, argued for a broader definition encompassing Graphical User Interfaces (GUIs), drawing parallels to Microsoft's historical use of "shell" (e.g., explorer.exe) and MacOS's "_exitToShell" instruction. This highlighted varying perspectives on computing terminology.

Implementation Investigations

Commenters raised practical questions regarding the project's implementation. Concerns included the potential "unnecessary overhead" of every app being an HTTP server, how dependencies and toolchains are managed (especially for "native" apps), and initial confusion about platform support (e.g., perceived MacOS-only client). The author clarified that code is pre-compiled, binaries are downloaded, and dependencies are minimized via static linking, though the distinction between "Outer Shell" and "Outer Loop" remained a point of confusion for some.

Visionary Vistas & Valued Ventures

Despite the criticisms, several users expressed genuine excitement for the project's vision. They saw significant value in a remote-first graphical operating system, particularly for use cases like deep learning experiments, GPU optimization, or robot development where direct interaction with a remote machine is common. They appreciated the experimental spirit and the potential to simplify remote management for less technical users or to provide a more intuitive experience than archaic character grids.