
桌面壁纸这东西我从折腾各种动态壁纸软件开始前前后后换过七八种方案最后稳定下来的居然是最不务正业的一种直接把一个网页挂在桌面上当动态桌面壁纸。macOS 上专门干这件事的工具不多Plash 是我用下来最顺手的一个——它做的事非常朴素把任意一个网址变成一个铺满桌面的窗口页面里有什么动画、什么数据、什么颜色桌面就显示什么。这篇文章不打算复述它的功能列表而是把我这两年踩过的坑、调过的参数、以及什么样的网站适合当壁纸、什么样的会把你的 Mac 拖垮这套判断标准完整写出来。如果你只是想让桌面动起来看完第三章就能上手如果你想把它做成一块常驻的信息面板第四、五章才是重点如果你已经在用但被发烫、卡顿、白屏折磨过直接跳到第六章的排查表。1. 先把原理捋清楚网页壁纸到底是怎么跑起来的1.1 它本质上是一个永不最小化的浏览器窗口很多人第一次听说把网站设为桌面壁纸脑子里浮现的是某种系统级深度改造其实完全不是。这类工具的做法非常直白创建一个无边框、无标题栏的窗口把这个窗口的层级压到桌面图标之上、普通应用窗口之下然后在窗口里塞一个完整的浏览器内核去加载你给的网址。理解这一点后面所有的现象就都解释得通了。为什么页面里的 CSS 动画能用、JavaScript 能跑、视频能播因为它就是一个真浏览器。为什么有的网站打不开、有的按钮点不动、有的页面一片空白因为浏览器能遇到的问题它一个不少——证书错误、跨域限制、需要登录态、需要鼠标悬停才显示内容。为什么它比静态图片耗电因为背后是一个持续渲染的网页引擎不是一张贴图。我一般会跟人这样类比静态壁纸是墙上挂的一张画视频壁纸是墙上挂的一台循环播放的电视而网页壁纸是墙上嵌了一台连着网的小电脑。它最灵活也最需要你管着点不然它就自顾自地在那儿跑满一个 CPU 核心。Plash 在这套逻辑上做得比较干净的地方在于它把这个窗口的控制权拆成了几个可以单独调的旋钮能不能交互、透明度多少、多久自动刷新一次、是否跟随系统深浅色、在多显示器上分别显示什么。这些旋钮决定了它是一块好看的背景还是一台吃电的机器第三章会逐个拆。1.2 为什么我会选网页而不是视频或动态图先说结论动态壁纸的三种主流形态里网页壁纸的信息密度和可维护性是最好的代价是资源占用和不确定性也最高。这不是拍脑袋是我把三种方案各用了一个月之后的结果。视频壁纸的优势是省心一个 mp4 循环播放画质可控、不联网、不出错。但它的问题是死的——你想换内容就得重新找素材、重新压片一个 4K 素材动辄几百兆硬盘里堆一堆还舍不得删。动态图格式更轻但色彩和分辨率损失明显暗部一片糊放在 Retina 屏上尤其难看。网页壁纸的价值在于内容是活的一个时钟页面永远显示当前时间一个天气页面永远是最新的一个数据看板的曲线每一分钟自己往前爬一个渐变生成器每次刷新都给你一套新配色。你不用准备任何素材改一个网址就换了一种风格。当然代价也很明确我把三者放在一起对比过维度网页壁纸视频壁纸动态图壁纸内容可变性高联网实时更新无固定素材无固定素材单份素材体积极小就是一个网址几十兆到几百兆几兆到几十兆内存占用高一个渲染进程常驻中等低电量影响明显尤其带动画的页面中等较小出错概率有白屏、加载失败、登录失效几乎为零几乎为零可定制程度极高能写自己的 HTML只能换素材只能换素材这张表的意思是如果你追求开机就有、永远不出错、不用管网页壁纸不是最优解如果你追求这块区域能承载信息、能随我心意变那它基本没有对手。1.3 什么样的网站适合当壁纸什么样的绝对别碰这是我认为最有价值的一条经验也是最容易被忽略的。不是所有网页都适合铺在桌面上。桌面壁纸的使用场景决定了它的特殊性它永远在你视野边缘、你不能也不应该频繁去点它、它可能连续开着十几个小时。我总结了一套筛选标准按重要性排序第一页面不能自动播放声音。这是硬性红线。有些视频站和资讯站会自动播放带声音的内容一旦挂上壁纸你每次开机都被强行播一段关都关不掉。筛选阶段一定要先确认。第二页面不能依赖鼠标悬停。大量内容站的样式是鼠标移上去才展开桌面壁纸通常处于点击穿透状态鼠标根本碰不到它你会看到一个残缺的布局。第三页面最好是深色底、大留白、低信息密度。桌面是工作背景不是信息流。一张全是文字和缩略图的页面铺满屏幕你会立刻想把所有图标都藏起来。第四不要依赖登录态。需要登录才能看的页面会话过期后就会变成登录框或者一片空白而你往往几天后才发现。第五注意布局是否响应式。有些老页面固定宽度 1200px铺到超宽屏上左右两条大黑边非常难看。第六警惕无限滚动和自动轮播。这类页面会持续请求新内容、持续重排CPU 占用基本压不下来。按这个标准筛下来我实际长期用过的只有几类纯色/渐变生成器页面、极简时钟、天气图表面板、以及自己写的本地 HTML 仪表盘。资讯类和视频类我试过全部在两天内撤掉了原因无一例外是耗电和分心。2. 上手前的准备环境、性能预算与电源设置2.1 系统版本与硬件的基本盘这类工具对系统的要求不苛刻近几年的 macOS 版本都能跑真正需要留意的是显卡和内存。网页渲染虽然主要靠 CPU 的软件光栅化但在有独立显卡或较强集成显卡的机器上会明显顺滑一些。我的经验分档是这样的机器类型建议说明近三年内的笔记本16G 内存以上可以放心用建议开省电相关选项带动画的页面也能扛住主要看电源策略较早的笔记本8G 内存可以用但要严格挑选页面避开视频和复杂动画优先静态或低频刷新页面台式机 / 外接大屏最适合可上信息密度更高的页面不在意电量可以把刷新间隔调短长期电池供电的移动场景不建议常开网页壁纸的耗电是实打实的见第六章内存这一项要单独说。一个空白网页占用的内存不算多但只要页面里有图片、有动画、有定时请求占用就会往上走如果页面里有视频占用会再上一个台阶。8G 内存的机器上一块网页壁纸可能就吃掉了你相当一部分可用内存切换应用时能明显感觉到迟滞。2.2 先算一笔性能预算再决定挂什么我在正式长期使用之前做过一次粗糙但有效的测量把壁纸挂上然后什么都不干静置十分钟看活动监视器里的 CPU 占用和能耗影响。判断标准我给自己定的是静置状态下壁纸进程占用的 CPU 不应该长期超过 5%能耗影响不应该一直是高。超过这个线说明这个页面不适合常驻。这个数字不是拍脑袋来的。笔记本的续航是按整机功耗折算的一个常驻进程多吃几个百分点折算到实际使用时间上就是几十分钟到一两个小时的差别。而且这还是在你什么都不干的情况下一旦你开始跑别的重活它还在旁边持续抢资源体感会更差。具体怎么做这个测量我的步骤是先把页面挂上不要做任何操作等它加载完、动画跑稳定。打开活动监视器切到 CPU 页签按 CPU 排序找到壁纸进程。静置五分钟观察它的 CPU 百分比是稳定在一个值还是在反复跳动。切到能耗页签看它的能耗影响评级。把鼠标移开、不要有任何交互再观察一轮——有些页面是在有交互时才降频的这会导致你误判。如果数值偏高先别急着放弃这个页面回到第三章把刷新间隔、动画相关的选项调一调很多时候能压下来一大半。2.3 电源策略让它在用电池时自动闭嘴这是我认为所有长期使用者都必须做的一步。工具本身通常提供了使用电池时暂停之类的开关位置可能在不同版本里略有差别但基本都会有。我的建议是在电池供电时直接暂停壁纸渲染。理由很实际你拔掉电源的时候大概率是在移动办公、开会、或者在咖啡厅赶东西这种场景下你最不需要的就是一块在后面持续渲染的动画背景。桌面变成静态的纯色或者静止的最后画面对工作没有任何影响。如果你找不到这个选项退一步的做法是调大刷新间隔或者换成一个极简的静态页面然后在系统设置里把使用电池时略微降低亮度之类的节能选项打开。这些组合起来效果也不错。还有一个容易被忽略的点外接显示器的时候壁纸渲染的像素面积会翻倍甚至更多。一台笔记本加一台 4K 显示器壁纸要渲染的总像素量可能是单屏的好几倍。如果你外接了大屏记得单独确认一下多显示器下的设置别让两块屏都在跑重页面。3. 实操把任意一个网址挂到桌面上3.1 首次配置的完整流程这部分我尽量写得能照着做。工具本身不在应用商店里通常是从官网或者开源仓库直接下载装好之后第一次启动会有一个引导问你希望它出现在哪里、要不要开机自启。完整的启动流程大致是这样拿到安装包拖进应用程序目录首次打开时系统会弹一次安全提示需要在系统设置里放行。启动后它通常不显示主窗口而是常驻在菜单栏点菜单栏图标才展开操作面板。在面板里选择添加网站输入你要挂的网址。首次加载会有一个明显的等待过程页面渲染完之后才会铺到桌面上。到设置里逐项调整第三章的后面几节会把关键项拆开讲。最后把开机时启动打开之后就不用管了。这里有个小细节首次添加的网址一定要选一个加载快、结构简单的页面比如一个纯色渐变页或者极简时钟。先用最简单的页面确认整条链路通了再去试那些复杂的页面出问题的时候好定位是工具的问题还是页面本身的问题。3.2 添加网址的几种方式以及我为什么推荐先试最简单的常规方式就是在菜单栏面板里输入网址。除此之外还有几个更省事的路径值得知道其一是从浏览器直接添加。有些版本会在浏览器里提供一键把当前页面设为壁纸的入口这个非常方便——你在浏览器里已经把页面调好了、确认过效果了一键搬过去就行不用再手打一遍地址。其二是那种自定义协议的链接。部分版本支持通过特定协议头唤起应用并直接加载页面你可以把它做成一个快捷方式或者触发器的目标实现点一下就换壁纸。这个功能在不同版本间支持程度不太一样我建议你先手动试一次open plash://example.com如果能唤起并且成功加载说明你这个版本支持后面做自动化就方便多了如果没反应那就老老实实走菜单栏。我不建议在没有验证的情况下把这条命令写进自动化脚本里容易静默失败还不报错。其三是本地 HTML 文件。这是进阶玩法第四章会详细讲简单说就是你可以把页面放在本地不联网也能用加载速度快、不受网络波动影响非常适合做仪表盘。3.3 关键配置项逐条拆解这一节是全文最抄作业的部分。不同版本的选项名称可能有出入但核心就那么几个我按重要性排。是否允许交互。这是第一个要决定的事。允许交互意味着鼠标能点进这个页面好处是你能操作它坏处是它会挡住你的桌面图标、而且你每次想点桌面都会被它截胡。我强烈建议默认关闭交互也就是让它点击穿透鼠标直接穿过去落到桌面上。只有在需要临时操作页面比如登录、调整参数时再临时打开。透明度。有些页面本身颜色太重铺满屏幕会压得人喘不过气。调低透明度让底下的桌面隐隐透出来观感会柔和很多。我的经验值是 85% 到 95% 之间再低就开始影响页面本身的可读性了。模糊。和透明度是一个思路把整个页面做一层模糊能从视觉上把页面降级成氛围。适合那些颜色块很大、元素很杂的页面。但如果你的页面本身就是用来显示信息的比如时钟千万不要开模糊字会糊成一团。刷新间隔。这个选项的价值远超它看起来的样子。设一个自动刷新间隔可以解决两个问题一是页面加载失败后能自愈二是防止某些页面长时间运行后内存缓慢增长。我一般设在 30 到 60 分钟之间太短会导致页面频繁重载、有闪烁感太长又失去了自愈的意义。缩放比例。如果你的屏幕分辨率很高页面上的元素会显得特别小反之在低分屏上可能显得过大。多数工具提供缩放调节我习惯调到页面刚好铺满、没有横向滚动条、关键信息在视觉中心的位置。多显示器独立设置。如果你有外接屏一定要确认这个功能。理想状态是每块屏可以挂不同的页面主屏放信息面板、副屏放纯色渐变这样既好看又不至于双倍耗电。3.4 建一份自己的壁纸候选清单我有个习惯看到好看的网页就顺手记下来标注它的类型和适用场景。时间长了这份清单比任何推荐列表都好用因为它全是你自己验证过的。我的分类方式是这样的类型典型页面适合场景注意点氛围类渐变生成器、粒子背景、极简几何日常长时间挂着优先选纯 CSS 实现的不要 WebGL 重绘信息类时钟、天气、日程面板工作时段内容更新频率低资源占用小数据类自建看板、监控面板副屏常驻注意接口频率别把自家服务打爆装饰类静态艺术页、摄影集演示、投屏图片多首次加载慢之后还好清单里我会给每一项额外记两条静置 CPU 大致占用、有没有发现过异常。这两条信息在你想把它设为长期壁纸的时候比页面本身好不好看重要得多。4. 进阶玩法从会动的背景到信息面板4.1 自建一个本地 HTML 仪表盘用现成网站的天花板在于你没法改它的布局和内容。真正的自由度在本地 HTML——写一个单文件页面放在硬盘上让壁纸直接加载这个文件。好处是不依赖网络、加载快、内容完全由你定、可以随便改。下面这个是我实际在用的一个极简骨架去掉注释大概四十行一个时钟加一块留给自己的信息区。你把它存成.html文件然后在工具里添加这个文件的本地路径就行。!DOCTYPE html html langzh-CN head meta charsetutf-8 titleDesk Panel/title style html, body { margin: 0; height: 100%; background: #0d1117; color: #e6edf3; font-family: -apple-system, PingFang SC, sans-serif; overflow: hidden; } .wrap { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; } .clock { font-size: 16vw; font-weight: 200; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; } .meta { font-size: 1.6vw; opacity: 0.55; letter-spacing: 0.1em; } .tips { position: fixed; bottom: 40px; width: 100%; text-align: center; font-size: 14px; opacity: 0.35; } /style /head body div classwrap div classclock idclock--:--/div div classmeta iddate/div /div div classtips idtips专注 · 慢一点也没关系/div script const pad n String(n).padStart(2, 0); const week [周日,周一,周二,周三,周四,周五,周六]; function tick() { const d new Date(); document.getElementById(clock).textContent pad(d.getHours()) : pad(d.getMinutes()); document.getElementById(date).textContent d.getFullYear() 年 (d.getMonth() 1) 月 d.getDate() 日 · week[d.getDay()]; } tick(); setInterval(tick, 1000 * 30); /script /body /html几个我踩过的坑都体现在这个骨架里了。第一overflow: hidden必须加否则某些情况下会出现滚动条一条灰色横杠横在桌面底部特别难看。第二定时器我设的是 30 秒而不是 1 秒——秒级跳动的时钟看着很酷但它意味着每秒都要重绘一次对长期挂着的东西来说完全没必要显示到分钟足够了。第三字号用的是vw单位而不是固定像素这样换显示器、改分辨率都不会错位。想加载外部数据天气、日程也可以在脚本里用fetch拉一个接口然后把结果填进去就行。但要注意两件事一是接口的频率别设成一分钟一次去请求公共接口容易被限流二是失败要兜底接口挂了的时候页面不能整个白掉起码留个默认文案。4.2 用网址参数做免改代码的定制如果不想写 HTML还有一个折中方案很多渐变、粒子、背景类页面支持通过网址后面的参数来改颜色、密度、速度。这就相当于你不用改代码只改一行地址就能切换风格。比如一个背景页可能支持在地址后面拼上颜色值和亮度你把这几种常见组合在浏览器里试一遍挑几个好看的存成书签以后换壁纸就是复制粘贴的事。这个技巧的价值在于把配置变成了网址你可以在笔记里存一张小表什么心情挂哪个地址一目了然。4.3 配合自动化做定时切换我自己的用法是按时间段切换上午挂时钟和日程下午挂一个纯色渐变减少视觉干扰晚上关掉或者切成极暗的纯色。手动切也不麻烦但能自动就别手动。实现路径有几种从简单到复杂最省事的是定时任务。系统自带的定时调度可以按时间跑一段脚本如果你的版本支持自定义协议脚本里就是一行打开对应地址的命令再配合切换到静态壁纸。这条路要先把协议验证通过。次省事的是快捷指令。建一个快捷指令里面用打开网址之类的动作再把它挂到时间触发器上。这种方式不用写代码可视化配置缺点是步骤稍多。最灵活的是写个小脚本常驻。但对大多数人来说没必要反而增加了维护成本。我个人的建议是如果你的需求只是白天开晚上关直接手动别上自动化。自动化的价值在于高频切换一天切两次的场景手动点的成本远低于调试脚本的时间。4.4 和专注模式、多桌面空间的配合这一条很少有人提但实际用起来提升很大。系统的专注模式是可以触发快捷指令的也就是说你完全可以做到一进工作专注壁纸切成极简时钟一退出专注切回渐变背景。多桌面空间的用法也值得说一下。你可以把壁纸只挂在第一个桌面空间第二个空间留给全屏应用。这样在写代码或者看文档的时候背后就没有任何东西在动注意力会集中很多。切换空间的动效本身也能起到心理暗示的作用——滑回第一个空间就是进入放松状态。5. 性能与稳定性排查实录5.1 常见问题速查表下面这张表是我这两年攒下来的按发生频率排序。遇到问题先对照着看大部分能直接定位。现象大概率原因处理方式桌面一片白 / 一片黑页面加载失败、证书问题、需要登录先在普通浏览器里打开同一地址验证风扇狂转、机器发烫页面里有视频、复杂动画、WebGL 重绘换页面或关掉动画相关设置电量掉得明显变快常驻渲染 高刷新开电池暂停或调大刷新间隔页面显示但点不动交互被关闭这是正常的需要操作时临时打开交互桌面图标被挡住窗口层级设置问题检查是否开了置于图标之上之类的选项多显示器只有一块有壁纸每块屏需要单独配置到设置里逐屏指定休眠唤醒后页面卡住渲染进程被挂起后未恢复设自动刷新间隔或手动重载页面几小时后越来越慢页面内存缓慢增长靠定时刷新兜底别指望它自己回收5.2 定位资源占用到底是谁的锅遇到卡顿的时候第一步不是怀疑工具而是搞清楚是工具本身在吃资源还是它加载的那个页面在吃资源。这两者的处理方式完全不同。判断方法很简单把壁纸换成一个纯色静态页面观察资源占用。如果占用立刻掉下来那问题就在页面去换页面或者改设置如果占用还是高那可能是工具本身的问题考虑升级版本或者检查是不是有多个实例在跑。具体操作上我会用这几条命令快速看一眼# 看占用最高的前十个进程 top -o cpu -n 10 # 按名字找相关进程 ps aux | grep -i plash第二条命令能看到是不是有多个进程同时在跑——网页渲染通常是多进程模型主进程加渲染进程是正常的但如果渲染进程有好几个说明可能有多余的页面在后台加载着这时候就要去检查是不是之前添加过的网址没有清干净。5.3 白屏和加载失败的排查顺序白屏是最常见的故障我一般按这个顺序查基本三步内能定位先在普通浏览器里打开同一个地址。如果浏览器里也打不开那就是页面本身的问题或者网络问题跟壁纸工具没关系。检查是不是需要登录。浏览器里能打开是因为你有登录态壁纸工具的会话可能是独立的。这种情况要么换成不需要登录的页面要么接受它会隔一段时间失效。检查是不是有反嵌套限制。有些页面会检测自己是不是被嵌在别的窗口里如果是就拒绝渲染。这种页面在壁纸里必定白屏不用浪费时间换页面。检查网络和证书。公司内网、需要特定网络环境才能访问的页面在壁纸里也可能失败。注意如果一个页面在浏览器里正常、在壁纸里白屏九成以上的原因是这个页面拒绝了被嵌套加载这种情况没有通用解法直接换页面。5.4 那些看起来是 bug其实是特性的现象有几个现象我一开始也以为是故障后来才明白是设计使然写出来省得你走弯路。其一桌面壁纸在启动台、调度中心里会被模糊或者隐藏。这是系统对桌面层窗口的处理方式不是工具的问题。你按 F3 看所有窗口的时候壁纸会被虚化这很正常。其二全屏应用会完全盖住壁纸。同样是层级使然壁纸在最底层全屏应用在最上层看不到是应该的。如果你希望全屏时也能看到那需要的是悬浮窗工具不是壁纸工具。其三锁屏时不显示。锁屏是另一个会话壁纸不会跟过去。其四某些页面在壁纸里比在浏览器里缺一块。通常是广告拦截或者脚本被限制导致的也可能是页面用了浏览器扩展注入的内容。这类差异没法完全消除选页面的时候避开依赖扩展的就好。6. 我踩过的坑以及长期使用的一些心得6.1 电量和续航是真实的成本这一点必须说透。网页壁纸不是免费的漂亮它是有电费账单的。我用一台笔记本做过粗略对比同样一段轻度办公的使用场景挂着一个带动画的网页壁纸和挂着一张静态图续航差别是能感觉出来的尤其是在亮度较高、页面颜色较亮的情况下。所以我的长期策略是分场景插着电、在工位上随便挂甚至可以让副屏挂一个信息密度高一点的看板。拔了电、在外面直接暂停桌面恢复静态。不确定要去哪、可能随时拔电挂一个极简的纯色页面占用低到几乎可以忽略。这条策略听起来很朴素但它解决的正是最常见的抱怨——用了两天觉得太耗电卸载了。不是工具不好是用错了场景。6.2 关于隐私桌面是公开的别把敏感信息挂上去这一条我觉得比性能更重要但几乎没人提。桌面壁纸是没有隐私保护的——你截个图发给同事、开个屏幕共享、旁边有人路过桌面上的一切都一览无余。所以我在选页面的时候有一条硬规矩任何需要登录才能看的内容一律不挂。包括邮箱、日程详情、聊天列表、后台管理面板。哪怕只是显示今天有三个会议只要里面出现了具体的会议标题、参与人就有泄露风险。替代方案是用本地 HTML 自己做一块脱敏面板——只显示时间、日期、一句自己写的话需要的信息自己心里有数就行。我上面给的那个骨架之所以只放了时钟和日期就是这个原因。另外还有一层页面本身会读到什么。你挂上去的每个页面都在一个真实的浏览器环境里跑它能拿到你的屏幕尺寸、大致的地理位置如果授予了权限、以及各种浏览器指纹。对于自己写的页面和知名的大站这个风险可以接受对于来路不明的好看背景页面我建议先用浏览器单独打开看看它加载了什么再决定要不要常驻。6.3 长期使用后的维护习惯用了两年多我慢慢形成了一套很小的维护习惯加起来每周花不了五分钟但能避免大部分突然的咦怎么坏了。第一每周扫一眼资源占用。周一到周五挂着周五下班前打开活动监视器看一眼如果发现占用比上周高了一截说明某个页面在偷偷变重及时换掉。第二页面清单定期清理。试过的网址会越积越多有些页面早就改版了、打不开了。每隔一段时间清一遍只留下真正在用的三五个。第三版本更新别急着跟。这类工具更新不算频繁但每次大版本更新都可能调整选项位置甚至行为。我的习惯是看到更新先放几天等确认没有明显的兼容问题再升。升级前把当前的配置项截图存一份出了问题好对照着恢复。第四把配置本身也当成资产。我把自己写的那个 HTML 骨架、验证过的几个页面地址、以及每个页面的资源占用记录一起放在一个笔记文件里。换机器的时候直接照着重建十分钟搞定不用重新摸索一遍。最后分享一个小技巧是我最近才用上的如果你觉得动态壁纸容易分心可以把它和勿扰绑在一起——进入专注状态时让壁纸自动切成一个几乎全黑的纯色页面只留一点点微弱的渐变。视觉上房间暗下来了注意力确实会好收一些。这个改动很小但对我这种容易被边缘动效吸走注意力的人效果比想象中明显。