Mac Finder 默认显示形式

又开始用很不习惯的 Mac 了,没办法

用了两天就遇到一个问题,访达,(以前叫 Finder,非得搞个中文名,不过这个貌似是监管政策的问题,就不吐槽他们了),说回这个访达啊,他每次打开,每个文件夹下面展示的形式还不一样,有些是图标,有些是列表,有些又是预览图之类的,他的这个图标,排列也是奇葩,经常搞着搞着,就空出来一个窟窿,也不会自动补上对齐之类的,还得手工给他触发一下重排列,以及他的这个列表,字号那么说,与其说是列表,还不如说是视力表,要是搁我妈,立马就要被嫌弃,看都看不清,管你什么先进科技,看不清就是个渣渣

那么,经过一番摸索,终于发现,在显示的显示选项里面,可以选择图标大小和文字大小,把图标选大,把字号也改大,就终于可以达到一个相对好接受的效果,但是,问题就来了,他这个设置的对话框,上面有个「始终以列表显示方式打开」,下面还有一个用作默认,这该勾的勾了,该点的也点了,但是,关闭了所有的访达窗口,再开一个新的,呀,又变回去了

这里的感觉就是,之前如果曾经打开过一个目录,并且手工修改过这个目录的显示方式,那么就会被记住,查了一下,确实是有这个逻辑,看到这里, https://www.zhihu.com/question… ,说是跟 Windows 上的 desktop.ini 一个道理,这个文件叫 .DS_Store,下面还给出了一个禁用和启用的命令行

.DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。1,禁止.DS_store生成:打开 “终端” ,复制黏贴下面的命令,回车执行,重启Mac即可生效。

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

2,恢复.DS_store生成:

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

作者:Marsokit
链接:https://www.zhihu.com/question/20345704/answer/19471793
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

但是这里的问题在于,已有的 .DS_Store 文件要怎么搞呢,以及,回到最初的问题,怎么让我们的设置全局生效呢

以及,经过一次实际的测试,我已经删除了 Downloads 目录下的 .DS_Store 文件,但是进去的时候,依然是显示上一次记录的样子,感觉就是阴魂不散

不管怎样,先把那个禁止生成的命令执行了再说

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

看说明,执行这个东西还得重启 Mac

重启之后,各个目录依然是各自为政

还是上面知乎那个帖子,有哥们给出了这个命令,这个一看就是一个遍历删除的命令

sudo find / -name ".DS_Store" -depth -exec rm {} \;

放进 terminal 里跑起来,跟目录下很多目录报错没有访问权限,先不管他,起码我们自己 home 目录的应该都清理干净了

实际进去一个 Downloads 目录 ls -lhtra 看下,也确实没有了,但是问题是显示的界面上,依然是我行我素

下面又有人提到一个叫 ASEPSIS 的东西,但是评论在两年前就已经反馈了说不支持了

在这里 https://discussions.apple.com/… 看到苹果官方社区上的一个讨论,看了一下,是 2013 年的了,而且思路还是用那个显示选项对话框里的用作默认的选项,没啥卵用

在这里 http://www.xitongbu.com/win/14… 提出了一个新的思路

解决方法:
  命令行:
  defaults write com.apple.Finder FXPreferredViewStyle ooxx
  将命令最后的ooxx替换为以下单词:
  Nlsv – List
  icnv – Icon
  clmv – Column
  Flwv – Cover Flow
  这样就搞定咯,比如想要默认为列表形式就执行:
  defaults write com.apple.Finder FXPreferredViewStyle Nlsv
  killall Finder
  这就是让Finder在打开时,里面的文件默认按图标方式排列的方法了,有喜欢图标的用户,快用这种方法进行设置吧。

然而这个貌似也没啥卵用,前面那个有没有起作用不知道,但是后面那个 killall Finder 都没起作用,就知道这个方法也不靠谱,可能也在新版的 macOS 上失效了,btw,我的这个 macOS 的版本是 10.14.2 (18C54)

又找到这里 https://support.apple.com/zh-c… 这个是个官方文档,从这里,找到了很多细微的信息点,真是层层抽丝剥茧,搞得跟破案一样。。

首先,我自己之前看到的选项窗口是中文的,有两个勾选,一个叫以列表方式打开,一个叫以列表方式浏览,(这中文名翻译的。。),对应到他这个文档中的英文版截图,一个叫 always open in 一个叫 broswes in 虽然也不知道这个有啥区别,不过隐隐感觉,一个是控制 open folder 的时候的动作,一个是控制 broswer 的时候的动作,唉,靠猜吧

看到这里的原文:

始终以此显示方式打开文件夹:选择“始终在此打开”复选框。
始终以此显示方式打开子文件夹:选择“浏览方式”复选框。
如果子文件夹以不同的显示方式打开,请选择该子文件夹,选取“显示”>“查看显示选项”,然后取消选择“始终在此打开”和“浏览方式”复选框。必须为主文件夹选择复选框,并取消选择子文件夹的复选框。

看来一个是控制自己这个目录本身的,一个是控制子目录的,而且,还得要求父目录中勾上,子目录中不能勾上,也是醉,猜谜呢

不过,好歹靠着这个说明,把 Music 子目录的问题解决了,之前是 Home 目录下是列表,但是进入音乐子目录,就变成图标了,原来是要取消子目录的勾选,去掉就好了,但是这里同样神奇的,全程我观察了,没有出现 .DS_Store 文件,我甚至怀疑是不是新版本用了类似 Windows 的注册表的机制了,不再用 .DS_Store 来控制了

同时,这个文档的最后,也有信息量

若要将这些设置用于使用此显示方式的所有“访达”文件夹,请点按“用作默认”。在“分栏显示”下,“用作默认”按钮不显示。
例如,如果您设定了“图标显示”的选项,然后点按“用作默认”,那么使用“图标显示”的所有文件夹会使用相同的选项出现。

这个解释了用做默认这个按钮的工作原理,原来,不是用作所有目录的默认,而是用做同类方式目录的默认,真是不说谁知道啊

但是问题是,这个文档也依然没有解决我所有的问题,例如,我的 Home 目录是列表形式,并且设置为三栏,进入 Downloads 目录,却是四栏,之前是不知道要去掉子目录的勾选,我现在去掉了,依然不行,从父目录进入子目录,子目录依然是四栏

后来,我观察到父目录有一个特别的选项,叫做显示资源库文件夹,我是把这个勾上的,但是,子目录是没有这个选项可以选的,于是就揣测,是不是由于子目录没有这个可以选,所以父目录的这个用做默认,在子目录上无法生效,于是就把显示资源库的勾去掉,再用做默认,重新进入子目录,依然不行

这里又发现几个问题,一个是,在 Home 目录下,.DS_Store 文件居然又出现了,另外一个是,我观察到,在我勾选了计算所有大小后,他会显示这个目录下所有子目录的大小总和,但是这个资源库其实是比较大的,一共有 10G 多,不可能每次都去实时扫,那么肯定就是 cache 起来了,而在我删除了再次出现的 .DS_Store 之后,这个目录大小还是能保存住,推测,要么这个 cache 在文件系统层内置完成了,当反复查询某一个父目录下的所有文件大小时,文件系统会做缓存和快速返回,要么,就是在这个目录级别自己完成的,而目录级别自己完成,无非就是类似 .DS_Store 方式的隐藏文件,或者写到一个中央存储,类似注册表一样了,结合查找资料的过程看到的一些帖子,说由于 .DS_Store 文件被提交到版本管理工具导致一些泄漏和安全问题,例如见这里 http://www.lijiejie.com/ds_sto… ,有理由相信苹果可能在新版的 macOS 中做了一些改进

待续

Leave a Reply

Your email address will not be published. Required fields are marked *