Aioga
AI资讯 / 行业动态
返回 AI资讯

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

Hacker News 热门Aioga 编辑团队2026-10-03T14:13:44.000Z热度 58

作者受 Scott Jenson 演讲启发,提出把 tmux 的可滚动、会话持久、任务导向体验带给普通人的桌面 UI 构想。他引用 Rooms(1986)、WindowScap...

行业动态Hacker News 热门

今日 AI 情报摘要

作者受 Scott Jenson 演讲启发,提出把 tmux 的可滚动、会话持久、任务导向体验带给普通人的桌面 UI 构想。

他引用 Rooms(1986)、WindowScape、Grudin 等研究指出窗口管理问题二十多年未解,给出无限画布、视口、隐私标志和本地 LLM 辅助组织任务的方案,并承认隐私遥测、无限画布堆积等设计缺陷,仍在尝试做 Linux demo。

中文正文 · AI 翻译

我最近观看了Scott Jenson的演讲,标题是“我们真的要永远使用相同的桌面用户体验吗?” https://www.youtube.com/watch?v=V7AfAcQwLW0&t=445s:https://www.youtube.com/watch?v=V7AfAcQwLW0&t=445s。他是一位出色的演讲者,非常清晰和简明。如果有机会,你会乐意听他讲三个小时以上。对于一个关于窗口管理的演讲来说,这已经是很高的赞美了。

演讲的总体观点是“苹果和微软在桌面操作系统领域不会再创新,所以由我们所有人来决定未来的桌面会是什么样子”。我认为实际情况比这更微妙,他们是在尝试一些想法,但他们非常保守。正如Jenson指出的,我们认为“计算机如何工作”的许多东西,其实是针对我们多年前已经不再使用的硬件的解决方法。那么,为什么我们仍然接受这些权衡呢?

声明一下,我不是UI/UX设计师。我不知道自己在做什么,也缺乏制作这个的技能。我主要是把这当作一个思考练习,并希望这能促使其他人也思考同样的问题。然而,我经历过其他人的糟糕选择,而这似乎恰恰是所需的主要经验条件。

总结:我想要的是“tmux就是操作系统”,但我希望tmux是普通人也能使用的。我一直在用它,非常棒,但有没有办法将这种可滚动、会话持久化、可分离且以任务为导向的系统带给普通人呢?

我认为你可以把问题分解为以下几个组成部分:

我的屏幕空间不断变化,而且我有更多的屏幕空间。

我每天大约有6次从笔记本屏幕切换到桌面显示器再切回笔记本屏幕。当我使用大显示器或多个显示器时,重叠窗口没有意义,因为我的空间已经足够大。

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

不同的人使用窗口的方式完全不同。

我们正在尝试为三类不同的人设计,而大多数现代操作系统只优化第一类使用场景。

浏览器是迷你操作系统。

在2026年,大家都默默地同意,你的大部分软件都运行在浏览器标签页中。这些网络应用程序将涵盖以往由本地应用程序负责的各种使用场景。我的桌面操作系统将浏览器视为普通应用程序,实际上它更像是在我的宿主操作系统中运行的虚拟化操作系统。

“文件系统”的概念越来越虚弱。

我在Apple Notes中的笔记属于Apple Notes,而不是我的文件系统。我的短信存储在iMessage的数据库中,而不是我的“文档”文件夹。Teams和Slack的内容存在于这些应用程序内部,除非我手动“取出”,而当我这么做时,其实是在制作一个副本。Firefox可以愉快地显示PDF,但PDF不会存储在macOS中,除非我采取行动将它存放在那里。

所以我并不是第一个看到这个问题的人。其中一些问题得到了解决,但方向与我想要的不同。其中一些问题得到了解决,但不是为普通人解决的。

我从那篇我一直看到别人引用的文档开始:Henderson, D. Austin 和 Stuart K. Card. “Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface.” ACM Transactions on Graphics (TOG) 5 (1986): 211 - 243。有趣的是,即使在80年代,人们也很清楚地认识到,当前的窗口管理系统并不理想。他们讨论的设计看起来类似这样,相比我们现在的位置,已经相当先进。

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

Henderson和Card使用操作系统人员测量内存的方法来测量窗口使用情况。屏幕是RAM。关闭的窗口是交换到磁盘的页面。而窗口,像内存页面一样,不会被随机访问:你会集中在其中的一小部分,通常为两到十个,这一小部分就是你的任务。程序大约98%的时间都在这个集合中运行,而运行成本的大约一半发生在那2%的切换时间中。Rooms的整个设计理念是预加载下一个集合,在你提出需求之前。他们称之为减少“用户的知识错误”,这是文献中最好的表达,我打算一直使用,直到有人阻止我。只需在企业会议中尝试一下:“我们需要减少用户的知识错误”

我发现的一篇比较有趣的附带论文是《No Task Left Behind? Examining the Nature of Fragmented Work》(没有任务被落下?研究零散工作的本质)。链接:https://ics.uci.edu/~gmark/CHI2005.pdf。主要是因为它证实了我长久以来怀疑的一件事,那就是现代窗口系统中长时间专注于单一任务的方式并不是人们的实际工作方式。伴随论文的标题是真实参与者的引用:“持续不断、多任务的疯狂。”人们每天要在大约十个“工作领域”间切换,每次只花几分钟时间。

最接近我想要的是论文《WindowScape: A Task Oriented Window Manager》(WindowScape:面向任务的窗口管理器)中的内容。链接:https://sites.cc.gatech.edu/pixi/pubs/WindowScaper_Author。

WindowScape 完全取消了显式分组,因此每次更改布局时,它都会拍一张照片,然后你回到这些照片中,而不是填充容器。我喜欢他们对以往系统的一句诊断:"要求窗口必须在单一分组中迫使用户提前决定新窗口的位置。" 照片的比喻也解决了我稍后将提到的浏览器标签问题:一个窗口可以出现在许多照片中,因为正如他们所说,"人们理解一个对象可以有多张照片,而底层对象只有一个。" 问题是这些照片会消失。这就是我认为你想要解决的差距。

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

对于第一个问题,我们或多或少已经解决了重叠窗口的问题。平铺窗口管理器确保你最大化使用屏幕空间,这样你可以在不同布局之间切换,而无需手动修改窗口。目前的平铺窗口管理器基本上有两个问题。

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

浏览器作为迷你操作系统:人们尝试过解决这个问题,但方向错误。他们让浏览器更像一个操作系统,而不是让其内容成为你现有系统中的一等公民。

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

他们基本上也“接管”了操作系统中的窗口概念。

Mat Duggan 设想让 Tmux 式任务管理成为操作系统界面

上面的图表和对 Arc 的详细介绍可在这里查看:https://blakecrosley.com/guides/design/arc:https://blakecrosley.com/guides/design/arc。

从“浏览器现在就是操作系统”的角度来看,这一切都是有道理的,但我认为这是一个根本性的错误想法。如果一个网络应用作为一个独立应用运行,它应该有自己的窗口。如果它是对另一个应用的补充,它应该是与另一个应用关联的窗口,并允许包含多个标签页,以反映浏览器作为所有研究和查询门户的理念。

浏览人们试图解决这个问题的历史进程时,我感到非常震惊。我不是第一个尝试解决这个问题的人,我甚至可能不是第10,000个人。

所以很明显我们知道存在一个问题。为什么这些想法没有像野火般流行起来呢?我认为这里有几个不同的问题。

Timeline 需要应用选择加入活动报告,而大多数从未加入。它还记录了一切,这看起来很奇怪(这是我的想法也会有的问题),而且用户界面显示了 Edge 的功能,但没有人想要,所以感觉更像是浏览器的推广而不是功能。Sets 死在内部策略和应用兼容性混乱之间,真正有趣的问题是为什么没有人足够大声地要求挽救它。Stage Manager 试图做到通用,但没有取悦任何人。KDE Activities 是选择加入的,而选择加入意味着最需要它的人从未配置它。

坟场中的模式:这些想法并没有错,只是它们不是默认的,或者它们没有在操作系统层面完成,那个层面可以看到所有应用。我想要的一切都必须是结构性的。

自9月23日以来,我已经打开、下载并创建了数十个文档(我在写这篇文章时是9月28日)。我他妈的一点都不明白 MacOS 是如何填充这个窗口的。也许它坏了,也许它按照某些我不理解的标准运行得很好。

但想法就在这里。理想情况应该是“在我整个电脑和应用中,我最近互动过的文件有哪些”,并将其扩展到包括电子邮件、Teams/Slack 等等。我应该能够看到我的设备上的一切,搜索它们,并且不用在意它们存储在 Slack、iCloud 或其他地方。单一窗口概览。

微软尝试过,人们不喜欢,但我认为这个概念是有道理的。

那么,到底发生了什么变化?为什么我们现在可能能破解这个问题,而之前它太复杂了?我认为如果你能找到一种方法,本地大型语言模型可能更合理,同时它不会带来更多问题而非解决它。

那么我们到底在看什么呢?概念是围绕任务的概念来组织它。当你定义一个任务时,这允许你把所有窗口都组织在一起,包括与任务分离并关联的特定浏览器标签页,而不是“浏览器”这个概念。你仍然可以灵活定义存在于严格平铺视图之外的可浏览内容。

基本的窗口流程看起来会是这样的:

桌面是一个无限画布;每个物理显示器都是其视口。

你最终会得到以下“过渡合同”来处理我最初的问题——“那多显示器/新显示器怎么办”。

操作系统最终学会了哪个显示器是焦点显示器。接收按键的显示器有~90%的时间是焦点显示器;那些保持可见但很少获得焦点的窗口是可视视的。这是从焦点遥测中推断出来的,不需要眼动追踪或配置。当笔记本屏幕较小时,可瞥视画面降级成一条细条,而不是完整的磁贴,这正是tmux已经做到的。

一个基底覆盖了我们的三种用户类型。还记得最大化器、近极大化器和协调者吗?在画布上它们只是列数。最大化器是一列全宽的列。近乎最大化者是一列加上浏览条。协调者是N列。没有人被强迫做任何事。这就是为什么设计可以作为默认,而KDE活动则是偏好。因为基底不强制样式,只是不再惩罚你已有的样式。

连接到一个新颖的显示器,它默认会显示“准备展示”的屏幕。你明确指向:这个任务、这个窗口,或者扩展画布。已知的显示器跳过了这个过程。屏幕共享是同一个事件,只是没有线缆。如果门打不开,你不需要模型有纪律;如果默认设备不会泄露,你也不需要用户有内存。

这些都不是什么新奇的东西。苹果 Keynote 的演示者视图已经存在二十多年了,投影仪上显示幻灯片,你的屏幕上显示笔记。尽管这个模式非常合理,苹果从未将其推广到操作系统。我希望将演示者视图作为桌面的一种原生功能。

浏览器标签页可以分离成真实窗口,并加入它们所属的任务。“浏览器”不再是窗口所在的地方。

这一切都很合理,直到你遇到“如何根据任务组织这些东西”。我认为对于更高级的用户来说,他们能够做到这些,但问题的一部分是我们不希望他们必须回退到配置文件。用鼠标拖动东西对于这种操作来说太笨拙了。理想情况下,我应该能够问一个有权限访问每个浏览器标签页和窗口内部信息的工具,帮助我以逻辑方式组织它们。

这就是本地大语言模型(LLM)派上用场的地方。

我把它称为“quake 覆盖层”,因为我年纪大了,对于一个从顶部下拉的文本输入框和通用快捷键的想法,我一直联想到 quake 终端下拉界面。年轻人则通过 Discord 的覆盖层熟悉这个模式,我决定对此不生气。不过在之前的示意图中,它显示为更友好的“询问”框。

但基本流程是,你要求 LLM 协助你进行组织,它会通过受限制的 MCP 服务器以一套动词列表查询信息,向你展示它的思考过程,然后给你布局预览。模型从不直接接触窗口管理器。它提出方案,你按 y 确认。

人们很少去学习完全新颖的任务:图形设计师的一生都在“从网络存储中打开文件,进行修改,保存输出,粘贴到聊天中,然后重复”。人们很少在新的显示环境中坐下工作:仅使用笔记本电脑、办公桌、会议室。人们很少新增显示器。新颖性到处都很稀少,因此昂贵的一次性“分类、提出、预览、确认”机制很少运行,而所有间隔的操作都是确定性重复。你组织一系列有限的任务一次,然后永远重复使用它们。查看票据,打开 Vim 和浏览器,处理票据,写更新,打开 PR,提交审查,处理下一个票据。你可以把配置文件弄得像 JSON 地狱一样,然后不再关心,因为唯一的目标读者是不会介意的模型。配置文件不再是一个界面。

这里最大的问题可能是空间记忆。人们理解计算机上各物件之间的相对位置,如果位置被改变,他们会不喜欢。可以把它理解为“如果有人来打乱你的实体桌子,搬动物品并调整你的椅子”。所以我怀疑你需要强制执行严格的“追加,不替换”模式。

其实,这有个名字。Kirsh 和 Maglio 称之为认知行动(epistemic action),例如俄罗斯方块玩家旋转方块的次数超过游戏要求,因为旋转是他们理解方块的方式。链接:http://wexler.free.fr/library/files/kirsh%20(1994)%20on%20distinguishing%20epistemic%20from%20pragmatic%20action.pdf 你的窗口布局是思考中的产物。一个在思考过程中“优化”它的助手反而在打断你。

不过,我在尝试这一想法时遇到了一个问题。现代的大语言模型实际上并不擅长“触碰这些东西,绝不触碰那些东西”。所以不清楚这是否是一个现实的想法。一种无趣的解决办法:LLM 提出方案,由简单的确定性代码执行,执行者拒绝触碰任何固定内容。如果门打不开,你不需要模型自律。

你仍然需要一个面向用户的高级 UI 元素,在这里我认为更包容的文件系统概念可以派上用场。

任务现在大致上可以与目录相比较。但一切都是从“任务”的最初高级概念开始,然后流向各个具体事项。一次应用永远不是任务本身。它是“某个聊天窗口、一个浏览器,也许还有预览”。我们能尝试去构建它吗?

所以我的希望是,我可以在这里展示一个运行示例的 Linux 桌面。但事实证明(也不意外)要让这样的东西运行起来实在是非常复杂。一些底层的想法运作得相当不错(从顶部调用全局终端快捷键的下拉菜单、可滚动的瓦片),但整体仍相当笨重。我会继续努力,看看能否让某些演示运行起来,所以如果你感兴趣,可以把我加到 RSS 阅读器,或者……我猜就耐心等待吧。

出于完全披露的目的,我认为即使是让一个功能演示运行起来,也需要许多个周末的时间。所以我会尽力而为,但请耐心等待。

因此,在尝试在 Linux 虚拟机中运行它时,我立刻遇到了设计上的严重逻辑问题。我认为失败往往比成功更有趣,所以我们来谈谈它们。

我不知道这个底层想法是否是个好主意,但停止等待 MacOS 和 Windows 在这个领域做出更好或有趣的功能,决定自己尝试,这种感觉很解放。上面的“墓地”里充斥着因传播问题而夭折的好主意。我们早就该进行一场作为默认设置发布的激进实验了。

这整个经历中最令人震惊的部分是,最初的重叠窗口设计是多么巧妙地规避了基本硬件限制,以及它推出后人们多快就明显看出了问题。我对这种情况在科技领域中经常发生感到惊讶:你看到一个问题,搜索相关学术论文,却发现有大量信息显示人们都在说“哦,是的,这是100%的问题,我们很快应该解决它”。也许这篇文章能激励比我更聪明的人最终去解决它。

情报判断

Aioga 编辑摘要

Aioga 编辑摘要:作者受 Scott Jenson 演讲启发,提出把 tmux 的可滚动、会话持久、任务导向体验带给普通人的桌面 UI 构想。 Aioga 将其归入「行业动态」方向,重点关注它对真实使用和行业竞争的影响。

背景分析

背景分析:公司与行业类动态需要放在竞争格局、商业化路径、资本信号和监管环境中观察,单条公告不能代表最终结果。

Aioga 观点

Aioga 判断:这条动态更适合作为行业观察信号,当前信息足以建立线索,但不足以推导长期结论。

影响与后续

影响分析:对相关团队而言,短期应先核对来源、可用范围和实际成本,再判断是否值得接入或跟进。 后续观察:继续观察官方文件、合作落地、收入或用户信号、竞品动作和监管后续。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: 摘要聚合 · 原始域名: matduggan.com

来源: Hacker News 热门

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-10-03T14:13:44.000Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

作者受 Scott Jenson 演讲启发,提出把 tmux 的可滚动、会话持久、任务导向体验带给普通人的桌面 UI 构想。他引用 Rooms(1986)、WindowScap...

Hacker News 热门2026-10-03T14:13:44.000Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。