肇鑫的日常博客

肇鑫 / Owen Zhao

独立开发者,主要开发 iOS、watchOS、macOS 应用。

目前在维护 SleepTapRooster Time,以及 Markdown Writer 相关工具。

最新文章

倍思Encok头戴式蓝牙耳机D02 Pro简单评测

评测

IMG_0337

我本来是不需要蓝牙耳机的。因为我已经有OPPO的Enco X了。不过,入耳的耳机戴久了,耳朵里会发痒。因此我打算再买一个头戴的蓝牙耳机。

因为不需要主动降噪功能,因此只需要买最基本款的就可以。在京东自营里看了一圈,最终决定买倍思的这款D02 Pro。选择倍思的原因,主要是因为我的设备大部分都是苹果设备,而倍思在苹果配件的开发商里,还是比较知名的,我觉得它的东西对于苹果的设备兼容性不错。

不过万万没想到的是,最终就是在这里翻了车。

优点

配对

单独把配对拿出来讲,是因为这款的耳机有个很有用的功能,它能够同时待机两台设备,是同时待机,而不是记住两台设备,然后手动切换那种。它是同时待机,后发声的设备会顶掉前面发声的设备,然后后发声的设备停止播放后,之前发声的设备还能继续之前的播放。一切都是自动,不用用户手动操作耳机。

比如,我是同时待机iPhone和Mac mini。iPhone通过QQ音乐放歌,如果我想使用Mac上的Siri,我只需要键盘按Siri的快捷键,然后Siri就会弹出,此时,iPhone的QQ音乐会被自动暂停,而且停止播放,并等待我的语音输入。当我说完话之后,Mac上的Siri进行反馈,反馈结束后,iPhone上的QQ音乐又会自动播放。这样很方便。

连接两台设备的方式,就按照说明书上的操作就行。不过,说明书说,两台设备全部配对完成后,打开第一台设备的蓝牙,就会自动连接。我这里测试是不会。需要耳机关机再开机才能同时连接两台设备。

耳机电源开关

之所以叫电源开关,而不是电源按钮。是因为它这个的确是个开关,是有两个状态的,可以推上推下的开关。这使得它的开关机非常方便。不像有的耳机,把电源开关整合到播放/暂停键,然后需要长按3秒才能开关机。

音质不错

重音很好,其它中规中矩。

电池电量强

标称是50小时,我昨天用了一下午,今天又用了一会儿,到现在电量还是100%。

佩戴舒适

这款算是包耳式。我的头比较大,把调节放到最大,带上也还可以。

缺点

没有状态检测

摘下耳机后,播放不会自动停止,耳机还在播放声音。因此,它应该也是没有什么一段时间没信号就自动关机的功能。这应该就是为什么它的开关机那么方便。主要这实在是个常用功能。

连接Mac电脑时声音时断时续

连接Mac mini M1 macOS Ventura 13.1时,最初的配对就很费劲,找到之后点连接,第一次没成功,第二次才成功。然后用QQ音乐放歌,声音会断断续续,十分频繁。而且这个断断续续和距离也没啥关系,因为我距离电脑不足1米。

结语

倍思D2 Pro,更适合连接iOS/iPadOS设备。如果你没有连接电脑的需要,购买这款耳机还是可以的。而我,必须将它退掉了。

macOS备份策略(2023修正版)

技术

长久以来,我一直同时使用时光机和CCC(Carbon Copy Cloner)来对我的系统进行备份。这种双备份的策略能够兼顾备份和恢复的效率,同时还能支持文件的多个版本进行恢复。

最近,我从Intel版本的Mac,过渡到了苹果芯片的Mac。苹果芯片的Mac,对于很多方面进行了改变,这导致原本的备份策略不再完全适用。因此,写下此文进行小结。此文分Intel芯片篇和苹果芯片篇。

Intel芯片篇

时光机

无论你是使用何种备份方式,时光机都是首要推荐的。不仅是因为它是系统自带的,完全免费,而且它真的好用。

使用时光机备份,只需要打开时光机,选择合适的备份磁盘就可以了。相比较于网络备份,我更推荐使用移动硬盘。因为后者的备份/恢复速度更快。有条件的,可以直接使用移动固态硬盘进行备份,这样恢复的时候,你能体验到飞一般的感觉。

时光机的另一个主要功能,是用于单独文件/文件夹的恢复。只需要点击时光机,选择要恢复的时间,然后选择指定的文件或者文件夹,最后选择恢复就可以了。

CCC

CCC是我常用的备份恢复工具。我将它设置为每天上午七点半自动备份。相比于时光机,它的优势是恢复系统的时间更短。另外,通过传统模式备份的CCC备份,包含完整的系统,可以直接从备份盘启动。

CCC备份的问题是,传统模式备份的CCC备份,包含的系统是不会随着源盘的系统进行升级的。如果你想将系统也同时升级,就只能格盘重新运行一遍全新的传统模式备份。

苹果芯片篇

时光机的部分参考Intel芯片篇,不再赘述。

CCC

苹果芯片的Mac从外置硬盘启动时,修改了启动策略。对于苹果芯片的Mac,要想从外置硬盘启动,Mac的内置硬盘必须包含完整的系统,然后使用内置硬盘系统中的管理员账号授权,才能从外置硬盘启动。

这直接导致了,苹果芯片的Mac,是无法直接从外置硬盘启动系统的。这样,在外置硬盘保存完整的系统并用于单独启动的可能就变小了。为此,CCC也在文档中说明,在目前的Mac中,相对于传统备份方式,更推荐标准备份。标准备份只备份所有数据,不包含操作系统本身。因此不能用于单独启动,但是因为苹果芯片的Mac在系统挂掉的情况下,本来也不能从外置硬盘启动,因此可以说是没啥影响。

所以,如果你使用的是苹果芯片的Mac,并且没有多系统的需求。那么直接使用CCC的标准备份就可以了。如果你需要使用多个版本的Mac,那么还是使用传统备份,格式化硬盘,然后备份完整的系统。这样在内置系统完整的情况下,还是可以多系统启动的。

2023年1月31日更新

这两天遇到了一个新情况。之前原本能够成功启动的移动硬盘里的macOS Ventura无法启动了。并且重新制作也无法启动成功。没办法,我写了邮件给CCC,询问原因。

CCC的客服回复说,就目前M1芯片的苹果电脑。CCC的传统备份,仅支持备份完成之后立即使用这种形式。不再推荐长期使用这种方式进行备份,并随时准备从外置硬盘启动的情况。

有鉴于此,今后CCC的备份,推荐默认的备份方式。不再推荐传统备份的方式。传统备份,仅在大版本改变时推荐。即比如macOS 13升级到14之前,可以用传统备份,保存一个macOS 13的版本,单独保存。这样,可以双启动。

截屏2023-01-31 20.18.12

为了咖啡!我的淡炼乳寻觅之旅…

随笔

一直以来都是速溶黑咖啡➕方糖,偶尔用牛奶替换开水,再加入一些可可粉。但是牛奶每次都要单独加热,喝起来不方便。

偶然想到快餐店提供的咖啡有提供小盒的奶油,可以放到咖啡里。上网查了一下,原来那个东西叫炼乳。于是打算下单体验一下。

首先相当的还是优先支持国货。查到熊猫是国货炼乳的大品牌。于是在京东下了一单,买了少量试试。

结果一试就发现了问题。这个熊猫的炼乳是含糖的。而且喝起来感觉味道不够纯正。

上网继续查,原来炼乳又分甜炼乳和淡炼乳。于是又去搜淡炼乳。一开始没有找到小包装的。于是买了号称香港大排档都在用的荷兰产淡炼乳。

这个荷兰产的淡炼乳让我一言难尽。它的确是我在香港大排档喝到过的那种。不过,它恰恰是我最讨厌的那个味道。当年我去参加同学在深圳的婚礼,提前去了几天,先去的香港,离开香港之前,去了一个大排档吃午餐,附送的有可乐和奶茶可选。我没喝过奶茶,就选择了奶茶。结果那个奶茶特别膻。我喝了一口就放下了。之后的很多年,我都没有喝奶茶的欲望。而这个荷兰的淡炼乳就是那个味道。

咬牙喝光了这三罐荷兰产的淡炼乳。我又在淘宝上搜索。这次找到了新的品牌,还是小包装的。雀巢的。货到了。使用的时候我尝了一下,有甜味儿。看配料表,有白砂糖。中招了,这款还是含糖的。

也许炼乳这种东西在我国不常见。用淡炼乳搜索,还是会搜到很多甜炼乳的商品。需要看配料才知道它是哪种。

不过还好,这款放到咖啡之后,咖啡基本还是没啥甜味儿,和快餐店的差不多。所以,如果价格合适,我还是会回购的。

当然,下次我也许还会尝试再找真正淡炼乳。寻觅之旅尚未结束……

奶茶

这款炼乳用来做奶茶也不错。只需要红茶+开水+雀巢炼乳即可。成果如图:
IMG_0329-1512

路由安装ShellClash后,设置方面的一些小结

技术

这段时间一直使用路由翻墙,重中之重是ShellClash的各种设置。设置好了,一切正常,设置冲突,可能就上不了网了。我并没有所有的设置都尝试过,因此,这只是我体验过的部分设置。

ShellClash的能力和限制

ShellClash可以代理TCP和UDP的流量。TCP的流量可以通过转发和TUN的方式,UDP的流量只能通过TUN的方式,但UDP必须是通过域名访问,直接通过IP访问的ShellClash会略过不处理。

模式、内核和设置

ShellClash的模式、内核和设置,是彼此相关的,你在设置时需要仔细阅读说明,考虑到他们之间的匹配性。

Redirect模式、官方内核、redirect DNS运行模式

官方内核占用的资源最小,但是功能也最精简。仅支持redirect模式和redirect DNS,能够代理TCP流量,对于UDP流量不做处理。

混合模式、Pre内核、fake-ip DNS运行模式

Pre内核功能更多一些,因此也占用更多的内存。除了可以代理TCP流量,UDP流量也可以通过TUN的方式进行代理。需要注意的是,此时必须选择fake-ip的DNS运行模式,不然UDP的流量还是无法代理。

TUN模式、Pre内核、fake-ip DNS运行模式

和上面的类似,但是TCP流量也不再使用转发,而是同样适用TUN的方式。

使用这个模式的时候,Telegram会上不了网。这是因为它是采用IP直连,会被TUN给略过。可以在Telegram的设置里,手动指定代理,方法就按照原的socks5的方式进行设置就可以。
此模式下,如果Firefox无法上网,可能是因为你同时安装了AdGuard应用。可以在AdGuard中,将Firefox设置为不过滤,然后在Firefox中使用AdGuard插件即可。

定时设置

刚开始启动时,ShellClash占用的内存是最小的,随着代理的增多,消耗内存逐渐变大。我们可以通过重启ShellClash的服务来释放内存,以免内存占用过多导致路由出现问题。我设置为每天3点自动重启ShellClash服务,因为那时我一般都在睡觉。

其他

ShellClash还有其他的一些模式和内核,但是由于我都没有尝试过,就不进行说明了。另外,本文针对的是1.6.8内测版。

Mac睡眠时经常异常唤醒问题的处理

技术

问题

最近从英特尔芯片的iMac 5K,换成了苹果芯片的Mac mini。一切都好,就是电脑在睡眠之后,经常会异常唤醒。表现为显示器由黑转亮,同时显示为无信号;键盘背景灯变亮;外置机械硬盘启动,发出噪音。然后几秒后,电脑又睡眠了。这个过程在电脑睡眠不久就会出现,而且会连续多次出现。

这个问题对于Mac mini这种无电池的台式机还算是小问题,最多就是有点儿烦人,费些电。但是如果是使用电池的Macbook,问题就严重多了。论坛上甚至有人反馈说,自己的电脑的电池电量,一小时就耗光了。

处理

确定了问题,就要研究如何处理。网上有很多种说法。甚至苹果自己也专门为这个问题开了技术说明。

如果 Mac 意外睡眠或唤醒

你可以先尝试使用苹果的提供的方法,如果还是没能解决你的问题。你再来使用我的方式。不过,我更建议你先使用我的方式进行调查,确定原因了之后,再使用苹果的或我的方式进行处理。

分析问题

网上对于这个问题的分析有多个思路。比如利用各种日志,通过命令行过滤来查询是什么原因唤醒了系统之类的。这些方法能查到原因,但是那些原因,一般都写得很技术,往往需要上网去查是什么意思,而且指向虽然有了,但是好多却不具备可操作性。

这里,我们采取更直接的方式,直接使用pmset来进行电源设置的查询。

我注意到Ventura下M1芯片的Mac min的节能设置中,并没有Power Nap的选项。我以为是Ventura的原因,毕竟我用M1不久。但是后来我在论坛上看到,有网友指出,苹果在M1芯片的Mac,移除了Power Nap的选项。我猜测,苹果大概是认为M1芯片的Mac足够省电,所以就把这个选项移除了。保持默认开启状态。

这个是我目前正常,没有异常唤醒状态的电源设置

zhaoxin@zhaoxins-Mac-mini-M1 ~ % pmset -g
System-wide power settings:
Currently in use:
 disksleep            10
 powernap             0
 womp                 1
 networkoversleep     0
 sleep                1 (sleep prevented by powerd, mds_stores)
 Sleep On Power Button 1
 ttyskeepawake        1
 tcpkeepalive         0
 autorestart          0
 standby              0
 displaysleep         10

每个选项的具体含义,可以参考下面的链接。

pmset
另外提一下第8行的sleep项,如果你的系统无法睡眠。那可能是有应用阻止了它睡眠。你可以看看这一行括号里的应用。这些应用都是可能阻止系统睡眠的。注意,是可能,而不是一定。所以你可以先尝试将能关闭的应用先关闭了,然后再来重新执行pmset -g这个命令,看看是不是生效了。然后再次尝试睡眠。

我的Mac mini,因为是从英特尔平台的系统迁移过来的,所以powernap默认时关闭的,如果是全新安装的系统,这一项应该是开启的。此外tcpkeepalive默认是开启的。在我的系统中,这一项的开启是导致系统的在睡眠后还被频繁唤醒的主要原因。

我的理解是,当系统睡眠后,如果tcpkeepalive还开着,那么系统就会因为各种通知唤醒。同时,由于苹果系统中的一些bug,一些可能具备网卡功能设备,比如各种USB设备(因为存在USB网卡这种设备),也能将系统唤醒。比如,我就在日志中发现,系统被我的M.2的外置移动硬盘唤醒过。

sudo pmset -a tcpkeepalive 0
sudo pmset -a powernap 0 // 如果有需要的话

现在再睡眠你的电脑,应该就不会有异常唤醒了。

New macbook Pro M1 chip waking when asleep with log "SMC.OutboxNotEmpty" wake reason

苹果芯片版macOS虚拟机的安装方法

技术

改用苹果芯片的macOS之后,连虚拟机都不会装了。一开始用VM Fusion,提示架构不对。于是又安装了Arm64的VM Fusion技术预览版,还是提示架构不对。

后来理解了,原来之前安装时一直用的pkg格式的安装包也不能用了,因为它是x86架构的。需要下载IPSW格式Arm版专用的。

虚拟机换成UTM,下载Monterery的IPSW刷机包。这次终于安装上虚拟机了。而且这个虚拟机占用还挺小了。我分配了4GB的内存,100GB的磁盘空间。结果运行虚拟机的时候,我的16GB内存的Mac mini居然都不需要启用交换分区。证明这个虚拟机内存占用还蛮少的,然后CPU的占用率也才50%,风扇也没转。看起来这个UTM还是不错的。

之所以安装这个,是因为有时候我向苹果报bug的时候,需要进行系统之间的对比。安装一个虚拟机,就不必经常在不同系统间进行切换了。

需要注意的是,安装好虚拟机之后,需要第一时间跑到时光机和CCC里,把虚拟机所在的文件夹添加到排除文件里,不要进行备份。因为这个文件夹有100多G,每次变动,这100多G就需要重新存储,所以还是不要备份了。需要的时候我重装一下就好了。🐒

最终决定留下这台联合创新的32寸4K显示器

随笔

用了几天这款联合创新的32寸4K显示器,我决定把它留下了。这款显示器最大的特色就是便宜,32寸4K,HDR400,价格算上活动,最终只要1799。

当然,这款的缺点也很明显。按照目前的说法,就是只支持单一背光。目前技术上更先进的mini LED的显示器,都是分区背光,这样HDR的级别能够达到1000,甚至更高。

如果不选择这款,就可以选择联合创新的另外一款27寸4K显示器,mini LED背光,价格最低只要2199,价差400块,倒是能接受。不过那款目前京东缺货。而且27寸相比32寸来说,还是小了一些。虽然HDR1000的参数比HDR400要好,但是我觉得看视频,还是屏幕更大的才更好。另外,27寸那款的背光分区只有384个,而同品牌新推出的另外一款拥有1000+的背光分区,但是价格也同时飙升到了4999。这个价格我就算了。

32寸的其他mini LED的显示器也是同样的情况,价格起码是1799的3倍,都还处于早期的高价状态。

这么多年对于IT市场的观察,不难看出,显示器的技术不断推陈出新,而老款的价格则逐年下降。目前5、6千的显示器,过不了两三年,就会降到2千左右。而在我看来,32寸的4K显示器还远谈不上完美,即便加上mini LED背光也还是一样。

远的不说,我们来看看苹果出的4万块的Pro Display XDR,它采用32寸屏,6K分辨率,6016x3384,同时支持HDR1600,背光分区有576个。

那么我们简单预测一下几年之后的显示器,应该就是具有更高的分辨率,更多的背光分区数,以及更便宜的价格。至于尺寸,我觉得32寸已经是我的极限了,再大的显示器我已经不愿意接受。唯一能考虑的可能是曲面屏,这样屏幕才可以更大一些。

所以,既然目前高价的显示器也都还谈不上完美,我就先买一个便宜够用的过渡一下好了。

简单说一下在macOS下使用联合创新32寸4K HDR显示器的感受

技术

我目前使用的系统是macOS 13 Ventura,硬件是Mac Mini M1,有HDMI和雷劈3/USB4接口。显示器是联合创新的32寸,分辨率3840x2160,支持HDR 400,接口有DP、Type-C、HDMI x 2。

所需要的所有特性

高分辨率下的HiDPI

HiDPI下的字体更加漂亮。高分辨率下的HiDPI可以显示更多的内容。但是不是所有的连接方式都能支持到最高分辨率下的HiDPI。

雷劈3转DP、Type-C接口直连最高支持3008x1692分辨率下HiDPI。HDMI直连最高支持2560x1440分辨率下的HiDPI。

前段时间,网上一直流传一个所谓苹果电脑连接的最佳分辨率。里面把4K显示器贬低得不行,认为必须得是iMac 24那样的4.5K分辨率,或者是27寸的5K分辨率才适合macOS,如果DPI数不够,效果就会很差。我当时就觉得那个是谣言,现在自己买了32寸的4K显示器,发现一样可以开HiDPI,证实了那的确就是个谣言。

当启用HiDPI后,macOS有时会提示“使用缩放分辨率可能会影响性能”。对于3840x2160这个原声分辨率来说,HiDPI下只有1920x1080这个分辨率没有这个提示,这是因为1920x1080的宽、高刚好是3840x2160的一半,即二者之间是0.5倍,倒数是2,是整数,因此性能无影响。

高动态范围/HDR

雷劈3转DP、HDMI直连下支持高动态范围/HDR。Type-C直连不支持。

有些人提到开启高动态范围之后,屏幕会发灰的问题。这是因为高动态范围需要同时在macOS系统和显示器设置中同时开启。macOS中开启了高动态范围,显示器同时要在设置中打开HDR模式。如果只开了macOS的,没开显示器的,就会发灰。

高动态范围/HDR和HiDPI之间的冲突

另外,同时开启高动态范围和HDR之后,即便没有性能的提示,HiDPI的效果也会受到影响。字体不再平滑,而是变得干瘪。不过,我找到了一个小技巧,如果显示器打开HDR,但是macOS系统不开启高动态范围。那么HiDPI的字体就还是正常的。这样也简化了看电影时的设置调整,只需要打开/关闭高动态范围就可以了。无需再调整分辨率什么的。

苹果自己的显示器应该没有这个问题。当然,我没有用过支持高动态范围的苹果显示器,所以这是我的猜测。
原来是带宽的问题,更换Type-c转DP1.4的线之后,问题消失。使用Type-c转DP1.2的线才有这个问题。

关于视频黑色发灰的问题

可以通过显示器的菜单,将“动态亮度”设置为“精细”来解决。

不过最好不要开这个功能,开了之后一些国产剧的妆容会变丑。

音量调节、亮度调节

我的显示器自带喇叭。因此,无论是哪种方式连接,都会同时传输视频和音频。不过同时,macOS系统本身的音量、亮度调整也都失效了。苹果对此的说法是,当使用HDMI和DP接口连接时,传输的音、视频数据的音量、亮度都是固定的,因此只能使用显示器上的按钮进行音量和亮度的调节。

我不知道苹果自己的显示器是不是也这样,这样的确有些不方便。不过第三方显示器实在便宜,苹果的又实在太贵了。

2023年2月14日更新

加快开机屏幕点亮速度的方法

显示器默认是采用自动识别信号源,这样哪个信号源有信号,它就会显示那个信号源的内容,不必自己手动切换信号源。缺点是开机之后显示会很慢。尤其是系统从睡眠到唤醒,明明苹果表都已经解锁了,还需要好几秒屏幕才会点亮。

如果你经常使用的是固定的信号源,只是偶尔才使用其他的信号源,那么可以将自动改成手动,设置为经常使用的那个信号源。这样可以大大提高屏幕点亮的速度。需要用其他信号源时,使用显示器的菜单手动切换就可以了。

120Hz刷新率

当屏幕分辨率设置为1920x1080p时,显示器的刷新率在Windows和macOS下都可以设置为120Hz。

2023年2月25日更新

换用type-c转DP1.4的线之后,打开HDR之后,字体不在变丑了。所以之前字体变丑的原因应该是之前用的转DP1.2的线带宽不足造成的。

DP1.4的线还可以支持4K下的10位色显示。而HDMI 2.0则不支持。只能支持到8位色。

另外,我的显卡GTX 970只支持DP1.2,并且DP下不支持HDR传输。因此,还是用HDMI连更实用。