Я хочу знать все ключи (список свойств), которые доступны в определенном доменном приложении, например, я мог бы перечислить доступные ключи com.apple.dock
, введя эту команду:
$ defaults read com.apple.dock
но каким-то образом выходные данные этой команды показали только активный ключ списка свойств, но еще не все доступные ключи для com.apple.dock
перечисленных там.
Кто-нибудь может мне помочь в этом?
command-line
defaults
plist
wongacid
источник
источник
defaults read
чтобы найти ключи для обычных настроек или использоватьCFPreferencesCopyValue
метод в GDB. Посмотрите, Как исследовать больше настроек по умолчанию, пишите настройки на OS X? - Супер пользователь .defaults read
чтобы найти ключи для нормальных предпочтений, запустить строки в двоичных файлах фреймворков или использоватьCFPreferencesCopyValue
метод в gdb. Посмотрите, Как исследовать больше настроек по умолчанию, пишите настройки на OS X? - Супер пользователь .Ответы:
Это не тривиальная задача, если я правильно помню, что люди запускают
strings
утилиту из командной строки для приложения и ищут вещи, которые соответствуют структуре, аналогичной com.domain.FeatureName. (com.apple.iTunes, ch.cyberduck.CyberDuck, com.panic.Coda и т. д.)Вероятно, самый простой способ управлять этими переопределениями - это панель системных настроек с именем Secrets . Использование этого позволяет установить панель настроек в «Системные настройки» и предоставить вам интерфейс для выбора приложения и изменения его настроек в соответствии с вашими предпочтениями.
источник
Нашел сайт, посвященный этим командам записи по умолчанию для Mac OS X, некоторые удобные команды для Mac OS X Lion & Mountain Lion.
http://www.defaults-write.com
источник
Там действительно нет понятия «доступные» ключи. Приложение может свободно читать любые ключи, которые оно хочет. Большинство людей обнаруживают «секретные» ключи по умолчанию,
strings
просматривая двоичный файл приложения, чтобы увидеть, какие ключи оно будет пытаться прочитать.источник
Большинство людей здесь хотят делать все через командную строку, но у меня есть более практичное предложение.
Эти две программы, описанные ниже, перечисляют множество известных настраиваемых функций командной строки приложений Mac OS X, отсортированных по приложениям или функциям. Преимущество в том, что список функций предоставляется для вас; Вам не нужно искать в Google, чтобы узнать, какие функции и последовательности командной строки необходимы для изменения каждой из них.
Существует несколько бесплатных или коммерческих приложений, которые предоставляют графический интерфейс пользователя, в котором перечислены большинство параметров настройки, которые можно изменить через Терминал. Чтобы активировать любую из этих функций, используя описанные мной программы, вы делаете это в графическом интерфейсе приложения, и вам вообще не нужно использовать командную строку. Вам не нужно ничего знать о
defaults write
или.plist
файлы.Два из этих приложений:
TinkerTool
что бесплатно, и
MacPilot
который был только что обновлен с новыми функциями Lion, и стоит 20 долларов США.
Это программы, которыми я владею и пользуюсь.
Загрузите бесплатную версию TinkerTool и пробную версию MacPilot и перейдите на все вкладки, чтобы увидеть все бесчисленные функции, которые вы можете настроить. Здесь слишком много, чтобы перечислять здесь.
Обновить
Разработчик Фредерик Викер выпустил бесплатные приложения (принимаются пожертвования) для создания настроек по умолчанию и записи, специфичных для Lion и Mountain Lion; многие из них также отлично работают для Mavericks (Mac OS X 10.9).
Загрузите их и посмотрите, какие настройки доступны для вас.
Твики льва
Горные твики
источник
Возможно, довольно длинное объяснение того, как все работает, может прояснить ваш и чужой поиск этих «скрытых» предпочтений.
Большинство приложений будут читать свои файлы предпочтений один раз, когда они запускаются, и
defaults
инструмент существует, чтобы гарантировать, что файлы предпочтений являются допустимой структурой и не содержат синтаксических ошибок. (Это также позволяет системе изменить способ хранения ключей, и людям не нужно знать подробности реализации, и они могут использовать команду defaults для выполнения всех операций чтения и записи.)Руководства по стилю английского языка и грамматике гарантируют, что слова, которые я здесь набираю, будут значимыми для среднего говорящего по-английски, а стандартизация системы значений по умолчанию устанавливает основу, чтобы все знали, чего ожидать. Форматирование списка предпочтений гораздо более жесткое и математическое, чем человеческий язык, но концепции схожи.
Система по умолчанию пользователя Mac OS X - это хранилище значений ключей (или база данных, если вы предпочитаете).
Вы можете записать что угодно в эти хранилища значений ключей предпочтений, сонет Шекспира, числа, список покупок. Если программа написана для поиска определенного ключа, она будет считывать сохраненное значение. Если он не ищет этот ключ - его значение остается неиспользованным и непрочитанным.
Это приводит к тому, как узнать, какие значения может искать конкретная программа при запуске. Это сводится к тому, что вы должны знать значение или перепроектировать программу.
Существует множество инструментов, позволяющих заглянуть в программу и попытаться выяснить, какие строки (ключи) встроены, например,
strings
dbx / lldb, а также ссылки в вашей собственной библиотеке для вывода внутренней структуры конкретной программы.На практике некоторые вещи, необходимые для тестирования, добавляются таким «скрытым» способом, чтобы вы не могли просмотреть панель настроек программы и увидеть эти новые функции, которые не готовы для широкого использования. В некотором смысле, получить полный список совсем не просто, если автор этой программы не выпустит исходный код или иным образом не публично документирует эти настройки.
Когда вы читаете хранилище по умолчанию для определенного приложения - вы просто читаете «книгу», которая была написана, когда приложение создавало его набор по умолчанию или настройки, поставляемые с Mac OS X. Вот почему вы не получаете исчерпывающий список вещей, которые реально можно изменить с помощью этого приложения.
источник
Насколько я знаю, приложение будет хранить новый ключ, только если он отличается от значений по умолчанию, по крайней мере, так делают мои приложения. Это не то, что можно легко контролировать, поскольку оно является частью инфраструктуры пользовательских настроек по умолчанию, поскольку приложение сообщает пользователям по умолчанию только то, что ему нужно сохранить, и обо всем остальном заботится. Я не думаю, что информация, которую вы ищете, будет легко получена, к сожалению. Хотя было бы неплохо иметь к этому доступ.
источник