最近更新了“生产力”
这里所谓的生产力,似乎是近几年来数码科技博主们和爱好者们整出来的新词汇,并不是传统概念里的“改造和影响自然,让自然适应人类社会的客观物质力量”的这种含义。
具体而言,它指的可能更多是各类数码产品(硬件与软件)如何影响各类创作者的。
大家热衷于讨论“生产力”,大多数情况说白了,就是在讨论自己的新买的3C数码产品,以及自己买来它们是怎么运用到自己的日常工作流中的。
我其实不怎么去折腾硬件和数码产品。不过最近一段时间,我更新了一下自己的“生产力”。
讨论生产力这件事似乎没什么意义
正如前面说过的那样,我其实很讨厌谈论所谓的“生产力”。具体而言,理由大概有:
- 讨论“生产力”设备的意义这件事,不应该是讨论“生产力”这件事的主要意义。听起来可能有点绕。大部分人讨论“生产力”,目的是说这个东西的各种参数、UI的细枝末节扣得如何、外观体验之类的内容。实际上我不认可这种讨论方式。我觉得生产力应该体现在更符合使用者的日用场景里,其它东西不应该是讨论的核心。
- 我觉得讨论生产力这件事不应该是一种“职业”。换言之,我感觉一个人不应该天天讨论我用什么什么设备得到了什么感悟之类的内容,显得就跟每天要上班似的,每天不知道为什么就莫名其妙热衷于讨论这件事。
- 我比较反感过度的去强调“科技与人类结合的文青感”的。不知道别人如何看待,我自己是不太能接受这种风格。网上很多数码博主不知道为什么,他们总爱盯着一个UI或者某个功能,去夸一夸某个微不足道的功能怎么怎么好,属于捡了芝麻丢了西瓜。
但是适当讨论讨论倒无伤大雅就是了。生产力这个概念本身还是很重要的,但是不应该过度强调。
有哪些变化?
不继续用ArchLinux了
在这次的更新里,首先是不打算继续用ArchLinux了。
我用ArchLinux的这段时间应该也不算非常短,是有一段时间的。在我看来,ArchLinux的用户很大一部分是技术能力很强的。
之前是很喜欢ArchLinux的,主要是Linux生态的可定制性非常强,并且用起来很自由。在做开发时,在Linux环境下进行开发会方便很多。
我之所以不打算继续用ArchLinux的主要原因,估计可以归结为这些因素:
- 很多人总是追求于美化和调教上。实际上这并不完全算是这群ArchLinux用户的问题,是由于Linux桌面环境以KDE、GNOME、Hyprland等生态为主导致的,这些桌面环境其实并不是非常能开箱即用(这话应该争议比较大,因为这是个主观很强的话,不过我自己是个KDE用户,KDE可能相对来说更能开箱即用一点)。再加上ArchLinux是一个喜欢追新的发行版,这意味着用户相对其他发行版而言更爱折腾一些。
- ArchLinux的滚动更新太快了。其实滚动更新应该是ArchLinux的优点,但是这样的话有些软件的wiki其实跟不上,并且有些软件更新后会出现各种问题。如果要是一个ArchLinux用户保持日滚系统的习惯,我觉得他用的时候估计每天都能见到一个不一样的系统。
- 天天要下很多东西。如果每天滚动更新的话,日常要滚包,更新需要下载的文件大小太大了。
- ArchLinux太新了,有时候可能也是有点麻烦的。我经常会需要搞Native的东西,如果东西在ArchLinux上构建出来,直接放到目标环境里,会因为ArchLinux的各种系统依赖太新了,没办法在目标环境运行。为了解决这个问题,我经常得通过开Docker容器等方式来规避诸如此类的问题,说实话有一点麻烦。
总而言之,基于我摆烂不是那么非常想折腾了的因素,以及我感觉有一些小问题,我感觉ArchLinux可能更适合折腾,但是似乎不太适合日用,我希望日用场景能更有稳定性一些,我希望能尽可能追求更多确定性。
毕竟俗话说得好,开源灵车会平等创死每一个摆烂摸鱼的用户。
其实ArchLinux这个系统是一个很好的系统,我上面说了一堆,也不代表我对ArchLinux有什么差评,我只是说一说不继续用ArchLinux的原因,这些原因加起来可能也只能算是我不想继续用的40%的原因。
至于剩下的60%的话,我不得不说,如果是在笔记本上用ArchLinux,我十分建议你得选一个扩展性强的笔记本,不要选扩展性差的笔记本,否则你的Linux使用体验估计不会非常好。我感觉我不继续用ArchLinux的很大一个原因,是我的笔记本不好使,扩展性差。
换掉了原来的主力本
话接上文,我原来的笔记本是联想小新Pro16。
这款笔记本最大的问题就是不能加内存和硬盘。
这款笔记本在买的时候,我对她的期望是能够相对于我原有的游戏本而言,能兼顾便携性。因为我当时还在上课,有些课要带笔记本去上,并且还要去各种地方,我经常会遇到要带着笔记本跑来跑去的需求。
当时买的时候,我本来觉得我是能容忍她的配置较低的。隔壁MacBook不也不能拓展硬件,我感觉大家用起来看起来也没什么大不了的。
在使用的时候,我非常不能接受她的insert键被联想的Smart Key占用的问题。这应该是一个在系统底层就被卡死的问题,没办法通过各种按键映射手段来解决。
我感觉这是一个吃相非常难看的行为,我真想问候一下联想的设计师,你怎么想的,你的精神状态还好吗?
我承认insert这个键大多数人平常用不着,但是好巧不巧,我自己设的几个快捷键要用它,因为这个被迫改了习惯。
并且,这个本子的续航其实是有一点问题的。
我觉得这款本子的续航是有一点不太够看的。但是我不确定这与我用的是ArchLinux是否有关系,我觉得可能这块是有折腾的空间的,只不过是我没去多探索。
但是正如上文所说,我的定位是她一定要方便出门在外携带,如果背着一个大充电器显然不是那么方便,但是用PD充电的话,她会识别成慢速充电器,充电速度是真有点太慢了,有点不能接受。
此外,这个本的散热其实也并不是很好。
综上所述,这次把主力本给换掉了。
弱化了NAS和tailscale的存在感
之前我是很依赖自己的NAS的,也很依赖使用tailscale。
我之前是绝对的tailscale爱好者,什么地方都想用tailscale。
我之前日常就要用tailscale,通过webdav与smb来挂载自己的黑裙NAS来使用,文件存在NAS上。
然而随着时间的推移,这样使用也是有很多问题的,以至于我现在有点取媚了:
- 服务过度依赖tailscale其实并不稳定
- tailscale打洞成功直连了才能维护服务的稳定性,否则如果走官方的DERP速度基本不能看。
- 由于我天天跑来跑去,我不是非常能奢求所在的网络环境是否都有IPv6、公网IPv4等更利于打洞的网络条件。其实打洞失败率也是很高的。如果在很关键的时候突然因为打洞失败了,导致存在群晖上的文件拉不下来,那我估计我能被气死。
- 自建DERP是要成本的。并且最关键的是,自建DERP不能指定它适用于哪些设备,它只能应用于整个账号的所有设备,这就意味着如果一个设备分享给了别人,如果处于带宽上的考量,我不希望它用我的DERP,那他就没法连我的设备了。如果我自建DERP给自己用,分享设备给别人后,那个人也必须用我的DERP,否则不要说打洞了,连都连不通。
- tailscale的Magic DNS是真的Magic。
- 如果某些原因,你同时使用其它代理软件,那它与tailscale之间的共存问题能烦死人。
- Magic DNS虽然能在后台设置用哪些DNS,但是它在实践中是不够用的。但是如果你的设备在不同的国家和地区,需要一个设备用一个DNS设置的话,这就能烦死人了。并且在服务器上用起来经常会遇到灵车问题。
- Magic DNS功能经常要很霸道的强碱
resolv.conf。我所用到的一些软件也要改resolv.conf,他俩会打架。
- 我用的是GitHub登录,国内的设备用的话,不是非常能保证一定能登录上去。
- 另外这里顺便吐槽一下,公用服务器如果想用tailscale,由于tailscale虚拟组网的产品特性,一个设备登录,他就能看到这个号下所有的设备都有哪些了,我感觉除了氪金搞个服务器搭个headscale(一个开源tailscale服务端实现)以外,没啥好解决方式
- tailscale经常打洞成功了以后,过一会儿又断了,再DERP一会儿再成功,这个闪断一下的问题我至今还没想通是因为什么,这有点玄学因素在里面
- tailscale好处是封装的很好,功能做的很简单,坏处就是封装的太封装了,如果你想认真排查一个问题,那还真有点不太够
- tailscale打洞成功直连了才能维护服务的稳定性,否则如果走官方的DERP速度基本不能看。
- 群晖是很好用的,但是我并不是经常在她的身边
- 我显然没法用QuickConnect(群晖官方出的公网映射服务),并且其实QuickConnect国内的可用性好像目测并不是很好
- 我依赖的是tailscale连接,tailscale的连接不能保证很稳定,所以我也经常连不上我的NAS
综上所述,我还是决定,让它负责备份各个网盘、服务器的数据(群晖的ABB、Hyper Backup、Cloud Sync等备份套件是很不错的),并且放一些不经常用的冷数据。
缩减了各种服务器
这没啥好说的,我感觉之前自己到处买VPS,买了以后挂那点小服务,没啥必要。
于是决定省省,反正自己也没啥重要业务跑,能放一起就放一起,该不续费的就不续费了。
新的工作流
换了MacBook Air
这次我换上了MacBook Air M1,是16+256这款。
买的时候大概有这些方面的考量:
- 我天天看x86阵营的东西,还真从来没想过笔记本上ARM是一种什么体验,我挺想试试的。我觉得应该没人对MacBook M系列芯片是消费级市场里ARM最能打的有什么意见吧。
- 16+256听起来确实是小。但是我觉得我之前就是16G,应该是勉强够用的。并且256G存储,说实话,我可能活跃的文件是存不够256G的,暂时用不着的文件往网盘和NAS上放放应该可以,我寻思这不是很大的问题。
MacBook不能拆装硬盘和内存这件事,不用苹果调教我,我已经被联想调教好了(逃 - 没人强碱我的键盘了(
忍不住了,我在写这篇post的时候非常想事后吐槽一下这个想法:什么玩意儿啊草为了不让别人强碱自己键盘所以选择直接更换一个从来没用过的键盘布局是做的哪门子决定啊淦 - 带起来就跟没带一样,这下轻薄了(
?什么怪话 - 可以搞搞面向iOS的开发,这下我终于能凑齐测试主流的平台了
但是可以注意到的是,我都5202年了,我怎么还买个M1的本子。
这是由于一个是便宜,我其实用不上那么高配置的CPU,M1其实够我用了,真跑大的计算任务我一般还是习惯用服务器跑,写代码其实挺合适的。
另外一个,其实我挺费笔记本的,我怕买个全新的给玩坏了,毕竟MacBook有信仰加持,她多少对于我一个穷学生而言太贵了(
其实还有一个原因,我看网上有人说MacBook的屏幕有涂层,容易脱落,我怕我给涂层搞掉,血亏好多钱,我就想买个便宜的二手试试怎么个事,
——于是买回来试了试,发现我用酒精擦,好像根本擦不掉涂层,其实比我想象的结实多了(
现在这个本子是我的主力本了,主要用来写代码、做文档等等。
就我个人而言,我觉得还是很满意的,带起来很轻便,我每天都把她从实验室和宿舍之间带来带去,出去跑也会带上她。
我说几个就我我个人感觉而言的亮点好了;
- 轻便没得说。
- 续航真的可以。我买的时候特地挑了个电池健康度90%+的,带出去用体验真的好,不插电能用很久,很能满足我的需要。
- 再也没人能阻拦我的PD充电了。充电速度也是可以的。
- 系统类Unix,学习理解成本稍稍低一点点。从便于开发的角度来讲,应该还算可以。
不过这里我个人觉得macOS做的并没有网上吹的那么神。
不过我想了想,既然这里是说我换了新本子的描述,我就不说缺点了,这是为了显得我自己买这个本子没那么蠢,其实平常的时候没少吐槽
我就说一点,2K屏的支持可以直接说是稀烂,太烂了,DPI的缩放比例支持也非常夸张,嘶
别的基本上,说实话,问题没有非常非常严重
用了网盘
于是我用上网盘了,之前对这个东西爱答不理,现在终于还是用上了。
网盘的话选择了OneDrive,拼车的话一年100以内,能有正版Office三件套+1T OneDrive,爽了。
可以说,网盘极大地解决了本子存储空间小的问题,并且方便了文件同步和存储。
不过后续我想试试看做视频之类的,我总感觉可能空间还是不太够,估计会考虑买个移动硬盘,或者是SSD+硬盘盒。现在硬盘贵,改天再看看好了。
折腾MacBook Air
我觉得最主要的变化就是我的新本子了。正如上一篇折腾ArchLinux那样,我说说看我折腾macOS好了。
我自己的话是用了macOS 14(拿到手的时候是14),然后升级到了15(我顺便吐槽一下,你要想开发iOS应用就必须得用新的XCode,新的XCode就支持新系统,有点烦人),目前在用macOS 26。
在刚用macOS时,我跟我的好朋友azw @AzureZeng 进行了交谈(也可以同时看看他整理的一部分macOS使用体验),学到了很多小技巧。
终端配置
终端APP
iTerm2
对于终端这个app的话,如果是macOS 26以前的系统,我觉得iTerm2是比较好的选择。这是因为:
- 这是因为如果你习惯了Linux桌面的话,应该会习惯用
Ctrl+Alt+T打开终端,macOS自带的终端软件是没有这样的快捷键的,而iTerm2自带这个功能(虽然这个功能跟我理解的是有区别的,我理解的Ctrl+Alt+T应该会打开一个新窗口,他这个做成了iTerm2的老板键,同一个窗口按下打开,再按隐藏) - 在macOS 26之前的系统里,默认的终端没有全彩的,色彩显示会遇到问题
当然,用iTerm2的好处多多,上面两点是我更关注的部分,重点是我刚拿到手的时候,我的朋友们也是这么建议的,所以我跟风也这么做了
默认Terminal APP
然而我升级了macOS 26以后我就又换回系统默认的Terminal了,因为iTerm2的那些比较高级的功能,其实我平时都不用。
自带的Terminal支持24位色彩了,主题也变强了,内置Powerline字形了,够我用了。
所以我又换回系统自带的默认的Terminal了。
iTerm2换回默认Terminal
这里额外提一嘴,iTerm2能够修改系统默认终端为自己,如下图所示。

但是我后面又想用系统默认的Terminal了,我就想改回来,那怎么办呢?这里只有改成iTerm2,没有改回来。
俗话说得好,解铃还须系铃人,还是这个地方,按住Option键,就能反设置了。

总而言之,折腾一圈,我目前还是会选择使用默认自带的Terminal。
Profile配置
我觉得默认自带的Clear Dark这个Profile就蛮不错的,我这里设置成这个。

虽然我感觉这样就够,如果还愿意进行进一步的定制,也可以设置背景图、颜色、字体等,这个我感觉目前先保持默认。
默认情况下,如果在终端里输入exit指令,我们肯定期望的它关闭当前的窗口或者tab,但是它并不是这样,而是会这样卡住,给你丢下一句“我已经死掉了捏”的通知:

其实这可以设置,在自己使用的Profile里,Shell中,把When the shell exits改成Close if the shell exited cleanly,就能实现这样的效果了,如下图所示:

包管理
用macOS的话,包管理肯定得用上HomeBrew了。
安装起来也很简单,打开HomeBrew官网(https://brew.sh/),按照上面的内容下载安装就可以了。
不过令我感觉意外的是,HomeBrew居然不是macOS only的。
然后作为好奇宝宝,其实我还去ArchLinux装了一下试了试。体验的话…反正它基本功能能用,具体的话倒是没深度用(挠头)
Shell
对于shell的选择的话,没啥好说的,一直都用的zsh,我打算继续使用Oh My Zsh。
实际上,macOS是默认内置zsh的,并且我发现其实macOS 15开始默认就是zsh。
安装zsh和Oh My Zsh
系统自带的zsh但是不是最新版,所以可以用HomeBrew升级一下zsh。
brew install zsh
那么接下来需要安装一下Oh My Zsh。
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装后会自动生成~/.zshrc配置文件了。
安装Powerlevel10k
我强烈安利Powerlevel10k这个主题,我ArchLinux上就在用,很好用,现在打算继续用。
可以用HomeBrew安装它:
brew install romkatv/powerlevel10k/powerlevel10k
在改主题为Powerlevel10k之前,需要下载一个合适的字体,这里我选择用Powerlevel10k官方推荐的MesloLGS NF。
可以在官方的README里找到这个字体的下载地址:
https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#manual-font-installation
然后在终端软件里,在目前使用的对应Profile里修改一下字体:

然后在~/.zshrc里修改一下主题的名字。
ZSH_THEME="powerlevel10k/powerlevel10k"
保存以后运行:
source ~/.zshrc
如果是第一次运行的话,会打开一个自动配置的向导,跟着做就能配置一个适合自己的主题了。
如果想重来一遍,可以用p10k configure重新打开这个向导。
常用插件
我最常用的插件就三个,可以用HomeBrew来安装:
brew install autojump
brew install zsh-autosuggestions
brew install zsh-syntax-highlighting
然后修改~/.zshrc,在最后添加这些来启用它们。
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
[ -f $(brew --prefix)/etc/profile.d/autojump.sh ] && . $(brew --prefix)/etc/profile.d/autojump.sh
刷新配置生效。
source ~/.zshrc
常用软件安装
我感觉这些软件,想必很多场景下应该是建议安装的:
- Visual Studio Code:官网直接下载dmg安装即可
- JetBrains ToolBox:可以用来当JetBrains的IDE启动器,在里面可以方便安装它们家的所有IDE,安装这个更省事一些
- XCode:由于我搞iOS开发,必须得装(
其实我说实话,我个人感觉是有点难用的 - MacZip:macOS自带的系统级解压只能通过双击压缩文件全量解压到当前目录,并且不支持
rar等格式,这个软件能很方便做解压工作,支持压缩文件预览,支持rar,还自带了清理.DS_Store小工具,不错 - LocalSend:内网文件传输必备
- Office 365:正如上文所说,我拼车买了Office 365,装个全家桶用Word、Excel、PowerPoint和OneDrive,挺不错的
除此之外,在macOS里,还有一些软件可以值得考虑。
有些是一些提升系统使用体验的小工具,有些是一些我感觉还不错的小软件,有些可能知名度不是非常高。
Ice
随着系统的使用,开的软件渐渐变多,右上角的控制区的图标会变得越来越多。
在macOS26里,支持了不显示图标,可以关闭某些图标不显示。但是我觉得这个功能对我而言不够用,我希望它能有收折功能,对于被收折的图标,我点开能展开被收折的部分的图标。
Ice这个小软件就能做这件事。
https://github.com/jordanbaird/Ice
不过macOS刚出,这个软件有些使用问题:
- macOS26截止到目前,必须得用
Ice 0.11.13 macOS Tahoe Beta版本才行,正式版根本不能用 - 有时候会导致奇怪的问题,比如收折的图标打不开、鼠标光标莫名其妙消失等问题,可以尝试执行
killall ControlCenter来解决问题
期待官方能够继续优化macOS 26的体验吧,小bug还是挺多的。
AlDente
根据我朋友的说法,macOS系统对于M系列芯片自带了优化充电的选项,但是实际使用起来是有点垃圾的。
根据官方的说法,开启系统自带的优化充电后,电量到达85%会停止充电。正常理解应该是会使用电源适配器的电才对,但是其实电池仍然在持续充放电,这等于保护了个寂寞。
AlDente可以设置的更进一步,可以设置充电的目标,到达目标以后实现由电源适配器供电,而不是还用电池供电。
并且,他还提供了当前耗电APP的显示,还有甘特图,能够看到当前的供电情况,如下图所示:

我个人感觉使用体验还是很不错的。
OrbStack
在macOS上如果想用Docker,官方的Docker Desktop非常烂。大家都喜欢用OrbStack来替代它。
体验上来说非常棒,性能开销变得小了很多,并且能无缝兼容docker cli,用过都说好。
Scroll Reverser
macOS的触控板和鼠标的逻辑是反的,非常烦人。
那么可以试试Scroll Reverser。
https://pilotmoon.com/scrollreverser/
Bruno
如果做后端开发的话,经常需要去调试接口。
在以前,可以用PostMan来做。但是Postman一言难尽,Classic版本不原生支持arm,新版必须登录账号,难评。
国产软件有Apifox,也得登录账号。如果真有团队开发需求的话可能很方便,但是我并不喜欢这样。
Bruno就很适合我。如果真有团队合作需求,也可以结合Git实现。整体而言,这款软件功能比较简单直接,很合我心。
Cyberduck
如果想在macOS上找一个比较不错的sftp/ftp/webdav连接和文件传输工具,那我觉得可以试试Cyberduck。
实际上,这款软件是有Windows版本的,他支持的协议也非常多,基本上有它的话,文件传输这块基本上就都够用了。
IINA
自带的QuickPlayer确实挺好,但是它不支持MPV格式,并且不支持HTTP,没有完善的playlist功能,字幕支持也不全面。
用IINA就挺不错的,还支持插件系统,并且它的界面也非常简单轻便且易用。
Termora
macOS上想找一个SSH工具的话,可以试试Termora,我个人觉得使用起来还挺不错的。
这个工具实际上是有Windows和Linux版本的。
细枝末节的小折腾
切换输入法延迟问题
macOS里如果想切换输入法,需要按CapsLock键。
我经常需要中英文间切换输入法,有时候需要用到日文输入法,使用时就发现它会诡异的卡顿。Command+Space是输入法切换快捷键,切换菜单经常会卡一下才显示出来,CaspLock键经常会迟钝个半秒才能完成切换,非常影响手感。
可以考虑做一些配置来缓解这个问题。
首先可以配置CapsLockDelayOverride来减少切换延迟,把下面的内容放进~/.zshrc的最后一行,让CapsLock切换丝滑流畅:
hidutil property --set '{"CapsLockDelayOverride":0}' > /dev/null
更进一步的话,可以考虑直接干掉CursorUIViewService。它其实就是在每次切换输入法时的这个显示:

可以终端里执行这个指令:
sudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO
执行完毕后,需要重启一下系统。
快速打开终端
我还是想快捷键打开终端。通过自带的Automator可以做到快捷键启动Terminal,Terminal如果已经启动了,会启动最后一个打开的(其实我想要无论何时启动新窗口,但是这样也够用就是了,大不了我Command+N开新窗口或者Command+Option+N开新Tab就是了)
方法很简单,打开Automator,新建一个workflow。

然后做一个Launch Application设置为Terminal,具体配置如下:

保存好。然后打开系统设置,设置一下键盘快捷键:

在Services里找到它,双击设置快捷键即可:
