亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Mac OS X: 偏好Preferences基礎(chǔ)(2)

系統(tǒng) 2159 0

深入理解偏好文件:

位置:

系統(tǒng)和應(yīng)用程序的偏好設(shè)置文件的存放,在Mac OS X系統(tǒng)中可以歸為兩個(gè)范疇,一個(gè)是系統(tǒng)范疇,一個(gè)是用戶范疇.

系統(tǒng)范疇內(nèi)儲(chǔ)存的是系統(tǒng)的或者是系統(tǒng)全局的偏好設(shè)置,這一點(diǎn)要和用戶范疇對(duì)比來(lái)說(shuō),用戶范疇是針對(duì)不同用戶的,用戶自己設(shè)置的偏好。

具體來(lái)說(shuō),一般地,系統(tǒng)范疇的儲(chǔ)存在/Library/Preferences/目錄里,而用戶范疇的儲(chǔ)存在~/Library/Preferences/目錄里(注 1 ).
1 : 在系統(tǒng)里面~符號(hào)代表用戶的home目錄,比如用戶student的home目錄在/Users/student, 這時(shí) ~就等于/Users/student, 而~/Library/Preferences/就是/Users/student/Library/Preferences/.

兩種類型的plist文件

  • 硬件特定位置(ByHost Preference)

Mac系統(tǒng)支持一種特定硬件的偏好設(shè)置,這些偏好文件儲(chǔ)存在ByHost目錄中,用戶可以在自己的home目錄的~/Library /Preferences/ByHost/里面,對(duì)于不同的系統(tǒng)(軟件和硬件),Mac OS X系統(tǒng)或應(yīng)用程序可能會(huì)將偏好設(shè)置文件儲(chǔ)存在ByHost里面,這樣這個(gè)文件中涉及的所有設(shè)置都只是相關(guān)于這個(gè)計(jì)算機(jī)本身。

ByHost偏好設(shè)置文件都有一個(gè)特殊的文件名以示和本系統(tǒng)硬件相關(guān),在Mac OS X 10.5之前的版本,系統(tǒng)使用的偏好設(shè)置文件名是在普通文件名中加入網(wǎng)卡的MAC地址來(lái)區(qū)別的,比如:
com.apple.screensaver.001122334455.plist就是用戶設(shè)定屏幕保護(hù)的偏好配置。
而在Mac OS X 10.5之后,為了可以更好地標(biāo)示系統(tǒng)的唯一性,它使用系統(tǒng)的UUID來(lái)替換原來(lái)MAC地址的內(nèi)容,比如,上面同樣的屏幕保護(hù)的偏好配置,我的是: com.apple.screensaver.27074F01-7A93-5859-BAF3-0EB138E001D3.plist

為什么一定要使用ByHost配置呢? 有些程序的偏好設(shè)置的確可以歸結(jié)為與硬件相關(guān),有些是為了程序的特性。除了上面提到的屏幕保護(hù)程序外,還有比如ImageCapture使用那個(gè)程序的設(shè) 置就是ByHost的,無(wú)論打開(kāi)Image Capture.app還是iPhoto.app程序,在它們的Preferences里面都有一個(gè)選項(xiàng)是下載照片使用哪個(gè)程序,見(jiàn)下圖就是Image Capture.app的Preferences的截圖:

里面設(shè)置使用iPhoto,如果沒(méi)有設(shè)定值,就顯示no application,Mac OS X系統(tǒng)就是靠這個(gè)偏好配置文件來(lái)啟動(dòng)對(duì)應(yīng)程序的. 到ByHost中就可以看到叫做: com.apple.ImageCapture.27074F01-7A93-5859-BAF3-0EB138E001D3.plist, 它的內(nèi)容在Property List Editor.app中顯示為下圖:


再例如,控制當(dāng)前顯示所支持的分辨率個(gè)數(shù)的信息,也是存儲(chǔ)在ByHost里面,這一點(diǎn)比較容易理解。下圖是顯示10個(gè)分辨率的選項(xiàng):


它的plist文件顯示如下:


還有一種用處,如果一個(gè)程序的許可證是用戶只能安裝在一臺(tái)機(jī)器上使用,這樣ByHost的偏好配置就是一種可以方便使用的機(jī)制, 比如有版權(quán)保護(hù)的程序,例如iTunes,需要保存本機(jī)本用戶的唯一標(biāo)識(shí),并與版權(quán)信息共同制作一個(gè)簽名,這樣防止盜版。

如何找到這個(gè)UUID呢?在Terminal中執(zhí)行下面的命令:

ioreg -d2 -c IOPlatformExpertDevice


在一臺(tái)iMac上可以看到下面的內(nèi)容:

+-o iMac8,1 <class IOPlatformExpertDevice, registered, matched, active, busy 0, retain 23>
{
"IOBusyInterest" = "IOCommand is not serializable"
"IOInterruptControllers" = ("io-apic-0")
"IOPlatformSerialNumber" = "YMXXXXXXXXX"
"clock-frequency" = <005a6b3f>
"version" = <"1.0">
"product-name" = <"iMac8,1">
"IOInterruptSpecifiers" = (<0900000005000000>)
"board-id" = <"Mac-F226BEC8">
"model" = <"iMac8,1">
"serial-number" = <5xxxx200000000000000000000xxxxxxxxxxx4dxx5axxxx00000000000000000000000000000>
"manufacturer" = <"Apple Inc.">
"IOPlatformArgs" = <00c0xxx00050exxxxxxeef0000000000>
"name" = <"/">
"IOPlatformUUID" = "FXXXXXX5-XXXX-XXXX-XXXX-82XXXXXXXX34"
"compatible" = <"iMac8,1">
"IOPolledInterface" = "SMCPolledInterface is not serializable"
"system-type" = <01>
}


從上面的內(nèi)容可以找到一行叫"IOPlatformUUID"的,這個(gè)就是了,為了可以一次找到,運(yùn)行下面的命令

ioreg -rd1 -c IOPlatformExpertDevice | grep "IOPlatformUUID"


這個(gè)UUID只有在Mac OS X 10.5以上版本的系統(tǒng)中猜支持,另外一個(gè)問(wèn)題是,并不是所有的硬件系統(tǒng)都支持,比如下面是一個(gè)較老的版本的iMac系統(tǒng)(2007),它的UUID前面部分是" 00000000-0000-1000-8000 " 后面根著的是網(wǎng)卡MAC地址,在這樣的系統(tǒng)中,就不使用這個(gè)UUID作為標(biāo)示了,而是沿用舊的方法,直接使用MAC地址.

"IOPlatformUUID" = "00000000-0000-1000-8000-00XXXXXXXX20"


在Mac OS X 10.5以前的系統(tǒng)中,同樣支持這個(gè)命令ioreg,但是不支持-rd1或者-d2的選項(xiàng)。

  • 全局偏好位置(Global Preference)

全局偏好文件是一個(gè)特殊的plist文件,存在于系統(tǒng)和用戶范疇內(nèi),但是在Finder出口中一般看不到,到Terminal中,可以找到 /Library/Preferences/.GlobalPreferences.plist或者~/Library/Preferences /.GlobalPreferences.plist兩個(gè)文件. 它們定義系統(tǒng)或者用戶全局的系統(tǒng)參數(shù),比如時(shí)區(qū)等.

常用工具

常用圖形工具:

Property List Editor:首選當(dāng)然是蘋果開(kāi)發(fā)工具中的這個(gè)應(yīng)用程序,免費(fèi)而且是主要工具.
PlistEdit :可以打開(kāi)處理文本和二進(jìn)制文件,并以原來(lái)的格式保存,
PlistEdit Pro :收費(fèi)軟件,特點(diǎn)是XML明碼和樹(shù)狀結(jié)構(gòu)同時(shí)顯示.
PrefEdit :方便查找plist文件,2.0版本開(kāi)始收費(fèi), 1.2的還是免費(fèi)

命令行工具:

plutil:主要用來(lái)檢查plist文件的語(yǔ)法,并將plist文件在Text和Binary之間轉(zhuǎn)換.
defaults: 用于操作plist文件, 但是操作多層屬性時(shí)有局限;10.5之后都默認(rèn)將文本格式轉(zhuǎn)化為Binary格式, 這樣可以提高系統(tǒng)讀取速度.
PlistBuddy: 是一個(gè)比defaults更加靈活的工具,可以任意編輯多層的屬性,但是不是OS X自帶的.

Tony Liu

June 26, 2009 Calgary

Mac OS X: 偏好Preferences基礎(chǔ)(2)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 最新69成人精品毛片 | 欧美激情中文字幕一区二区 | 欧美久草| 91青草久久久久久清纯 | 久久久久久99 | 在线观看久草 | 日本高清一| sss欧美华人整片在线观看 | 91精品国产福利尤物 | 在线99| 久久精品国产主播一区二区 | 久久久久久久久性潮 | 最新日本一级中文字幕 | 国内精品视频九九九九 | 尤物福利视频 | 欧美干干| 综综综综合网 | 香蕉成人国产精品免费看网站 | 四虎sihu新版影院亚洲精品 | 亚洲精品视频观看 | 国产在线精品二区赵丽颖 | 久久精品亚洲精品一区 | 999福利视频| 免费区欧美一级毛片 | 免费观看男女羞羞的视频网站 | 四虎影院最新网址 | 日韩国产成人 | 国产综合久久久久影院 | 草草视频免费观看 | 精品视频中文字幕 | 国产91在线免费观看 | 97色在线观看免费视频 | 欧美五月婷婷 | 亚洲黄色在线观看视频 | 97欧美 | 奇米欧美成人综合影院 | 国产精品亚洲一区二区麻豆 | 男女一级免费视频 | 爱我久久国产精品 | 大伊香蕉精品视频在线天堂 | 国产黄片毛片 |