IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]OSX:不同OSX版本的标记可能不兼容

    afatgoat发表于 2014-07-15 12:26:29
    love 0

    现象:

    根据测试,中文OS X 10.9和中文10.10的文件标记彼此不兼容。也就是说,比如在10.9中的颜色标记,在10.10DP2中不能删除,但可以添加/删除10.10自己的颜色标记,反之亦然。

    参见下图,文件夹admin有两个红色标记,其中在后面被挡住的是10.9.4建立的,在10.10DP2中,可以添加/删除10.10自己的标记。



    分析:

    具体是什么原因造成的呢?

    首先我们需要一个命令行工具,叫做tag,通过这个命令可以查看标记的情况-它不是操作系统内置的,是第三方工具。

    我们再来假设一个场景,首先我们在10.10里面给/Users/admin文件夹添加两个标记,一个红色,一个灰色;然后再到10.9中给它添加另外一个颜色,黄色。

    然后运行tag命令来查看它的标记:

    $ tag -l /Uses/admin
    /Users/admin Yellow,红色,灰色
    

    如果没有再给它添加一个红色,那么命令运行结果是:

    $ tag -l /Uses/admin
    /Users/admin Red,Yellow,红色,灰色
    


    在10.9中,各种颜色标记使用的是英文, Red和Yellow等,而在10.10中,使用的是中文, 红色和灰色等,把10.10改为English界面,重新启动,读取的标记依然是中文的,也就是说它把第一次的语言设置作为自己的语言类型。虽然意思一样,不过对于软件本身来说却不认识,因为明显他们不一样。这些标记记录在文件/文件夹的metadata中。

    这个应该是一个软件bug, 一般来说内部系统在处理文件属性的时候应该以原始内码存储,Mac一般是UTF-8编码的英文,而不应该随界面语言文字的改变而变化,象现在这样,就出现了不兼容的问题。


    解决方案:

    如果不是为了测试,最好等待OS X Yasemite 10.10的正式版出来,再尝试新鲜。

    如果已经发生,如果标记不太重要,那么就吧标记清空。使用下面命令:

    xattr -c /the/path/to/your/file

    把其中的/the/path/to/your/file替换成你要清除标记的文件/文件夹目录


    如果要清除文件夹里面的所有文件标记,可以加上-r,如:

    xattr -c -r /the/path/to/your/file

    最后,使用第三方的命令行来处理。比如

    tag -r 红色,灰色 /Users/admin





沪ICP备19023445号-2号
友情链接