Практически всё, что необходимо для работы, можно настроить через стандартные настройки в GUI. Однако иногда возникает необходимость добраться до скрытых настроек, тогда на помощь приходит утилита
В терминах defaults настройки приложения храняться в своих доменах. Получить перечень доменов можно командой:
ole-mac:~ ctrld$ defaults domains .com.settings.local, AddressBookMe, AppFreshDaemon, Net Monitor, SnippetDB, at.EternalStorms.flickery, at.obdev.LittleSnitchConfiguration, at.obdev.LittleSnitchNetworkMonitor, au.id.tyson.AutoRate, ca.indev.MAOSparkleHelper, ca.indev.MailActOn, ca.indev.MailTags, ca.primatelabs.Geekbench2, ca.primatelabs.Geekbench2.LSSharedFileList, com.Growl.GrowlHelperApp, com.acqualia.Picturesque2, com.adiumX.adiumX, com.adobe.Reader, com.adobe.Reader_x86_9.0, com.adobe.acrobat.90.sh, ...
Как вы видите, идентифицировать конкретную программу достаточно просто. MailActOn – ca.indev.MailActOn, Adium – com.adiumX.adiumX, и т.д.
Просмотр содержимого домена:
ole-mac:~ ctrld$ defaults read de.metaquark.appfresh { IUAppFreshUpdatesMaturity = 1; IUCategoriesVersion = 7; IULastDaemonRun = "2009-10-14 17:31:37 +0300"; IUScheduleInterval = 0; IUSelectedTableViewFilter = "x-coredata://EBA970E8-B0D6-4058-A9B5-9B334546D149/IUCategory/p8"; IUSetupWizardRun = 1; "IUSplitView Layout MainSplitView" = { Left = 201; Right = 220; }; ...
Также можно просмотреть содержимое по имени программы:
defaults read -app AppFresh
Получить значение ключа:
ole-mac:~ ctrld$ defaults read de.metaquark.appfresh IUAppFreshUpdatesMaturity 1
Установить новое значение (не выполняйте эту команду, я не знаю, что обозначает “2″ в AppFresh, это демонстрация принципа):
ole-mac:~ ctrld$ defaults write de.metaquark.appfresh IUAppFreshUpdatesMaturity 2
Перед тем, как что-то менять, лучше запомнить, что было раньше. Если уж что-то пошло совсе не так, то можно удалить настройки, и при запуске программы создадутся новые (эта операция совсем уж на крайний случай):
ole-mac:~ ctrld$ defaults delete de.metaquark.appfresh
Можно найти слово или фразу. Например, я хочу узнать, в каких доменах записано моё имя, например, чтобы выяснить, какие программы я купил (учтите, что в разных программах может быть разный формат имени – или “Имя Фамилия”, или “Фамилия Имя”):
ole-mac:~ ctrld$ defaults find "Oleg Serdyukov" Found 1 keys in domain 'com.appzapper.appzapper': { "Registration Name" = "Oleg Serdyukov"; } Found 1 keys in domain 'com.blacey.SuperDuper!': { SDuserLicenseName = "Oleg Serdyukov"; }
Я описал основные возможности defaults, за детальным описанием обращайтесь к “
Посмотреть, как использовать defaults для изменения различных настроек, можно, например, на “