爱意满满的作品展示区。
tumk

合盖接外接屏跑远程任务,半夜总断线:我把防休眠做进了菜单栏

  •  
  •   tumk · Oct 30 · 564 views

    前阵子有段时间我特别烦一件事:合上 MacBook 盖子、只用外接屏干活,跑着的远程任务总在半夜断线。SSH 断了,Codex 跑着的任务停了,第二天早上打开一看,断网断了几个小时,之前跑的东西全得重来。

    系统里其实有个「显示器关闭时防止自动睡眠」,我开着的,但还是不够。有几种情况它就是拦不住:电池供电的时候、插一下电源线把机器短暂唤醒( Notification Wake )之后、合盖外接屏黑屏( Clamshell Sleep )那几秒。看着像睡了,其实是系统在这些边角情况下还是按自己的节奏睡了,远程连接就这么断了。

    一开始我是在终端里敲 caffeinate 对付,管用是管用,但每次都要想起来敲,合盖、拔线、换供电方式的时候还得再想一遍它现在到底还生不生效。后来干脆把它做进了 LayoutKeeper ,0.6.12 加了个「防休眠」,在菜单栏和「设置 → 通用」里都能切。

    就两档,意思写得很直白:

    • 「息屏不休眠」:屏幕可以黑,但系统不睡,合盖也自动保活,适合合盖只用外接屏、或者干脆黑屏跑任务的时候。
    • 「常亮不休眠」:屏幕和系统都不睡,适合要一直盯着屏幕看输出的时候。

    0.6.13 又把这事往明白里做了一步:每档下面直接标明了开盖、合盖、拔掉电源或外接屏时到底睡不睡,不用再猜「我现在这档合上盖子会怎样」。另外还加了一档「合盖断电也不休眠」:合上盖子、拔掉电源线和外接显示器,系统也继续跑不断网。第一次开要管理员授权一次,之后切换就不用再输密码;切回其他模式或者退出 LayoutKeeper ,系统就恢复正常的睡眠设置。

    但这档我得把丑话说在前面:它真的会让机器在包里也接着跑,所以装进包之前记得关掉,不然又发热又耗电。这功能不是让你一直开着的,是给「今晚这个任务必须跑完」准备的。

    说到底这功能跟窗口恢复是一回事:外接屏的麻烦很少是缺一个大功能,大多是这种「系统默认行为在边角情况下跟你的预期差一点」的小事。合盖、拔线、换供电方式,这些动作每天都在发生,每次都得手动兜底,时间久了就烦。

    最后照例把工具本身说清楚,免得新来的朋友云里雾里:LayoutKeeper 是个 macOS 菜单栏小工具,GPL-3.0 开源,本职是记住外接屏上每个窗口的位置和它所在的 Mission Control 桌面,拔线再插回来时放回去。只支持一块外接屏,跨桌面恢复要 macOS 26+(同桌面内的位置恢复 macOS 14+ 就行),Finder 窗口没法跨桌面移动。不收集数据,布局只存本机,唯一的联网是可关的 GitHub 更新检查。未公证,第一次右键 → 打开。

    仓库: https://github.com/tumingke0/LayoutKeeper

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1328 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:12 · PVG 04:12 · LAX 12:12 · JFK 15:12
    ♥ Do have faith in what you're doing.