设为首页 收藏本站
查看: 752|回复: 0

[经验分享] Mac OS X: 偏好Preferences基础(1)

[复制链接]

尚未签到

发表于 2016-5-15 12:46:37 | 显示全部楼层 |阅读模式
目录:

0. 准备工作
1. 简介
2. 偏好文件(plist文件)
3. 编辑plist文件举例
4. 应用实例
5. 深入理解偏好文件
6. 常用工具
7. 问题解决

准备工作:

  • 知识的准备:
    熟悉Mac OS X系统中目录层次的表达方式,也就是说你可以在Finder窗口中, 轻松找到/Library/Preferences目录.
  • 软件的准备:
    安装Property List Editor程序。如果还没有,你可以从以下几个方式找到。

    • 随机的光盘中,第一张光盘里面的/Optional Installs/Xcode Tools/就有, 运行XcodeTools.mpkg就可以了, 但是不能保证是最新的程序.
    • 到download.csdn.net的PropertyListEditor下载, 地址<http://download.csdn.net/source/1382942>. 这个程序是随10.5.6系统盘的XcodeTools的.
    • Apple的官方网站下载,参见http://developer.apple.com/mac/, 这里下载的肯定是最新的程序.

  
简介:
在Mac的OS X系统里,你点击左上角苹果菜单,里面就有一个叫做System Preferences的选项.在其它的程序中,比如Safari, iPhoto等,点击该程序名称菜单,也会看到一个类似的菜单选项:Preferences...。那么什么是Preferences(偏好)呢?

  
其实,普遍意义上来说就是一种配置(配置文件,ConfigurationFile)。对于不同的程序和不同的操作系统,它们所支持的配置是以不同方式存储在系统上的,比如说,PC机的BIOS也是一种计算机硬件的配置,它存储在计算机的CMOS里; 对于大家熟悉的Windows系统, 系统本身使用Registry的方式存储系统/用户/应用程序的配置信息,比如说登陆运行程序/桌面背景等等,都是存储在那里,Windows系统的Registry是存储在多个二进制加密的文本文件中的,用于存储不同的系统/用户配置信息;而在Mac OS X系统中,采用的是一种文本或二进制XML格式的文件格式,一般来说文件的后缀名是.plist,所以也叫plist文件,比如浏览器Safari的默认主页就是存储在com.apple.safari.plist文件中的HomePage项中.当然plist文件在Mac OS X中已经不仅仅作为一种配置文件了.

普通的应用程序也有自己的配置文件,用于存储程序默认的参数和数据以及用户自定义/变更的参数,应用程序可以使用操作系统提供的机制,比如Windows的Registry和Mac OSX的plist,当然应用程序开发商可以根据自己的需要或爱好使用别的任何文件格式存储,比如古老的.ini文本文件等。

在Mac OSX系统中对plist文件的支持,最开始是使用Text文本格式的,这样用户可以使用任意的文本编辑软件就可以打开编辑。后来为了效率考虑,从10.2开始引入了二进制Binary的格式,这样可以提高系统读取速度,而plutil命令行工具就是从这时开始引入的--后面有相关介绍. 而从10.4Tiger系统之后,系统默认的plist文件都是二进制格式的了.
  
偏好文件(plist文件):
  我们知道了大多数的偏好配置都储存在plist文件中,那么我们就看看plist文件的样子.
下面的内容就是一个最简单的最基本的plist文本文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>

  
它在Property List Editor中是下图的样子:

  
编辑plist文件举例:
可以通过上面提到的Property List Editor程序编辑一个plist文件。首先我们记住:plist文件内容是由一系列的属性名和对应的值通过一定的顺序组合组成的。
下面只是举一个简单的例子,通过例子大家可以熟悉plist文件的树状结构和支持的数据类型等特性。

运行Property List Editor程序后,看到的是下图的内容,在按钮下面是三列的空表,三列分别是:Peroperty List,Class, Value. 其中Peroperty List就是属性名称列表;Class是定义该属性的类型,plist文件支持好多种类型,这一点后面说;Value就是该属性的值。


首先, 我们需要创建一个根,点击New Root按钮, 系统生成一个属性名叫Root, 类型是Dictionary(字典), Value是一个不可编辑的默认是"0 key/value pairs"的一行.


我们用鼠标点击这个Root. 上面的New Root按钮变成了New Sibling,但是是灰色禁止的,也就是说plist文件只能由一个Root,它没有兄弟。为了能在Root下面添加它的子属性,在Root左边有一个向右的小三角, 用鼠标点击它,它变成了向下的三角, 也就是告诉程序,这时上面的New Sibling按钮就变成的NewChild了,我要编辑/查看它的子属性。所以对于可以添加子属性的属性,一定要首先打开它才能对它编辑,这是以后要用到的。

先面先来建立一个简单的属性,点击New Child,在走边列给它一个名称,叫Background, 中间列选String, 也就是一个字符串类型,最右面写入该属性的值,比如~/Pictures/Background.jpg.


现在Background是选中的,上面的按钮是“New Sibling”, 点击它, 并给它Childs的属性名,点击类型列,会出现上图的所支持的所有类型的列表,选择Array的类型,也就是数组类型,大家知道数组是一个相同属性的值组成的一列,每个值按照0,1, 2...的顺序排列,所以,点击它左面的三角打开它后,每添加一个它的子属性,系统会自动为每个子属性设定一个数字的属性名,我们分别建立两个子属性,每个都是字符串string类型, 值分别是Son, Daughter.
选定Root, 再建立一个子属性,叫做Country, 属性是Dictionary, 它的子属性有三个, 分别是CA, CN, UN, 数值类型都是数字Number, 值分别是0, 1, 2。
再在Root下面建立一个子属性,叫做MyData, 属性是Data, 内容可以自己填写.
再建立一个Root的子属性,叫做Today, 属性是Date, 程序自动填上当天的日期.
最后建立一个Root的子属性,叫做AmITony, 属性是布尔Boolean,也就是是否, 默认是Yes。

完成上面的工作后,我们得到的是如下图的一个plist文件.




  有兴趣的可以保存这个plist文件,并用文本编辑器打开,看看里面的结构.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217301-1-1.html 上篇帖子: 如何在Mac OS中安装 wget 下篇帖子: [mac]Mac OS X 常用快捷键大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表