处理了点 macOS 上的小问题

最近折腾了一些东西,在使用的时候渐渐发现了一些问题。

逐个解决的同时,发现都是 macOS 上发生的,便写下这篇小结记录。

.DS_Store 文件

.DS_Store 文件是 macOS 的 Finder 生成的文件,网上似乎有很多人对其深恶痛绝。

我对它的看法还可以,在 macOS 上的确也发挥了不错的作用。

但是在其他设备不仅没用,看着还很难受,每个文件夹都有整得跟病毒似的,所以还是动手料理了它。

.DS_Store 的处理方式搜了一下,基本就只有那些个方法在各个地方复读。

苹果官方提供的方法是防止在连接远程设备时在其上建立 .DS_Store 文件,对于本地硬盘还是不管用。

于是再仔细寻找一番,我发现了 Asepsis

仔细阅读的时候,我又发现了一个问题:这个软件在 macOS 10.8 - 10.10 上可直接使用,在 macOS 10.11 和 10.12 上需要做一番操作才能够使用。

这个操作就是,关闭 SIP。

考虑了一下,我关闭了 SIP,关闭操作可以参考 这里,然后再次安装 Asepsis,结果发现安装失败。

看来 Mojave 上还改动了什么,毕竟版本号已经 10.14 多了。

看来只有另寻他法了。

但是我又一想,我对 .DS_Store 本身又没啥意见,只要它别在出现在别的设备上,那么从这条路子出发是否可行呢?

答案是可以。

Syncthing

Syncthing 的同步文件夹有个忽略模式,可以靠这个来控制需要同步的内容。

那么进入 Syncthing 的 Web UI 界面,展开要控制的文件夹,点击 选项,在弹出的窗口中选择 忽略模式 选项卡,在里面就可以编写忽略规则。

忽略模式

具体规则可以查看 官方文档,这里加入一条新规则:

1
(?d).DS_Store

保存之后即可生效。

这样 Syncthing 就不会把 .DS_Store 文件同步到其他设备了。

Synology

之前我还使用了 WebDAV 连接群晖观看其上的视频,Finder 在默认的情况下会往连接的远程设备上建立 .DS_Store 文件,这点十分不好。

还好处理起来很简单,苹果官方给了解决方法。

1
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

只要打开终端,粘贴以上命令,回车执行即可生效。

理论上执行后需要重启后才能生效,但我没重启后发现也没有生成了。

Rime 输入法

Rime 输入法在 macOS 上的发行版叫鼠鬚管(Squirrel),不同于 Windows 上的小狼毫(Weasel),所以在将配置文件搬过来的时候,要 weasel.custom.yaml 的文件名,要改成 squirrel.custom.yaml

不过这个问题不大,大问题在于,我每次部署的时候都提示失败,明明我仔细检查相关的文件都在。

虽然可以正常使用,但每次重新部署或者同步时提示错误,还是挺闹心的,于是在这上面花时间研究怎么解决。

一步步尝试,最终发现还是引入了袖珍简化字拼音输入方案产生的问题。

但是我能正常使用它打字啊,这算是个什么事……

尝试了几个方向都无果之外,无聊之下用 东风破 安装了全部的输入方案,再部署时就发现不报错了。

代价就是 Rime 用户文件夹里塞了一大堆我用不到的输入方案,不过问题能够解决,也就不太在乎了。