A native graphical shell for SSH
TL;DR · AI 摘要
A native graphical shell for SSH Marcus Lewis With the web browser, we have really figured out a good flow for how one d...
核心要点
- 主题聚焦:A native graphical shell for SSH
- 来源:Hacker News Best,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
用于 SSH 的原生图形外壳 | Marcus Lewis
借助网络浏览器,我们已经找到了一种良好的流程,让一台设备(“服务器”)能够为另一台设备(“客户端”)提供使用体验。
这引发了一个有趣的想法:设想服务器和边缘设备可以提供基于浏览器的图形“外壳”,从而可以从其他设备上使用它们。该外壳将提供一个应用程序的主页界面。在这个外壳中,每个应用程序都是一个小型 HTTP 服务器,提供网页用户界面。外壳将提供一个 API,使应用程序可以查找彼此的 URL。例如,应用程序可以注册自己为文本编辑器,这样你可以在一个应用程序中双击文本文件,以在编辑器应用程序中打开它们。这些图形应用程序可以作为终端应用程序的替代方案。
这些 HTTP 服务器通常为私有,无法被网络上的其他设备访问。相反,你将通过 SSH 或本地使用它们。与大多数现有的基于网络的服务器工具不同,这些 HTTP 服务器通常不会使用本地端口,而是使用 Unix 域套接字文件,这些文件类似于端口,但存在于文件系统中,并具有明确的用户权限。每个 HTTP 服务器可以非常简单,没有依赖项,因为它不需要处理加密,加密将在 SSH 层进行。
这些应用程序可以是传统的基于 HTML 的网络应用程序,但也可以是原生的 outerframe 应用程序。
我已将 Outer Loop 构建为这种图形外壳的 SSH 浏览器,现在我正在发布一个开源的 Outer Shell。
屏幕演示:Outer Shell
在这里我演示 Outer Shell 的工作原理,并尝试向你展示这个领域中存在多少容易实现的功能。
更新:这里有一个 YouTube 镜像,供更喜欢这种方式的人使用。
文档
与其撰写一篇庞大的博客文章,我编写了大量文档:
- 浏览器的工作原理:https://outerloop.sh/
- Outer Shell API 及如何向其添加应用程序:https://outershell.org/
- 这些原生应用程序的工作原理:https://outerframe.org/
思考
这难道不奇怪吗?为什么这还没有存在?对于浏览器来说,连接到 Unix 套接字的功能一直被视为极其小众,但当你将其与其他功能(包括 SSH 和 sudo 意识)结合在一起时,技术树上会出现全新的分支。与其将 Linux(以及其他)服务器视为具有传统本地图形操作系统的设备,我们或许可以专注于为远程设备提供“外层”图形外壳。在另一个时间线中,我们可能已经用传统的 HTML/JavaScript 应用程序构建了这个生态系统几十年。事实上,像 Jupyter 和 Tensorboard 这样的许多单个服务器风格的网络应用程序确实出现了,每个都有自己的独立安全协议,但没有真正出现一个能“正确”交付它们的方案。
现在,机会甚至更大,因为我们可以让这些应用程序真正原生。现在我们有了能够帮助我们编写代码的人工智能,为每个目标平台为每个应用程序提供一个代码库是切实可行的。我认为这正在成为网络的自然架构:HTML 用于阅读和休闲应用,而原生平台定制的应用程序用于完成工作。为什么要满足于更少呢?
(感谢 Rosanne Liu、Mirko Klukas、Adam Zethraeus 和 Felix Andrews 阅读/观看本文和屏幕演示的草稿。)