Як вивчити більше типових налаштувань для запису файлів на OS X?


13

Я хотів би вивчити нові налаштування, які можна виконати командою "написати за замовчуванням" в OS X (ML).

Що я можу зробити, щоб знайти їх самостійно, а не полювати в Інтернеті на відомі твіки?

Відповіді:


20

Відмова: Я автор ~/.osxколекції defaults writeналаштувань . Це методи, які я використовую для пошуку налаштувань. Дайте мені знати, чи є кращий / простіший метод, про який я тут не згадувався!


У більшості не прихованих налаштувань саме в Terminal.app ви можете знайти правильні ключі налаштувань:

defaults read > a
# Change the setting
defaults read > b
diff a b

Для прихованих налаштувань він стає складнішим. Ви можете використовувати stringsутиліту командного рядка на будь-якому двійковому виконуваному файлі та побачити, чи будь-який із результатів тексту схожий на ключ налаштування. Наприклад:

strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

Ось ще один приклад, який перегляне всі .frameworkфайли в /System/Library/Frameworks/і дещо фільтрує вихід:

strings /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* 2> /dev/null | grep -E '^[a-zA-Z0-9_.-]{10,80}$' | sort | uniq

Також є інструмент під назвою GDB, за допомогою якого можна знайти приховані налаштування.


1
Дуже дякую, і я не можу повірити, що ти мені відповідаєш! Я знав про ваш приємний список в Github давно btw. Дуже дякую! Спробую це зараз.
Tom S

2
@Lri FWIW, я зробив чистий гірський лев встановити лише минулого тижня і defaults read;добре працює тут.
Mathias Bynens

0

Ще одна команда рядків:

for f in $(mdfind kMDItemContentType==public.unix-executable -onlyin /System/Library/); do strings $f 2> /dev/null | grep -E '^[[:alnum:]_.-]{10,80}$' | grep ^Apple | sort -u | sed "s/^/${f##*/} /g"; done

sudo opensnoop -n cfprefsdпоказує, які списки властивостей змінені. Ви можете використовувати fseventer для відображення інших змін у файловій системі в режимі реального часу.

У налаштуваннях за замовчуванням є підкоманда пошуку:

$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
    NSQuitAlwaysKeepsWindows = 1;
}

Файли заголовків часто містять визначення ключових параметрів:

grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'

-1

Що я припустив з вашого запитання, це ви хочете вивчити налаштування / налаштування програми. Ви можете прочитати налаштування програми за допомогою цієї тривіальної команди

defaults read NSGlobalDomain

або

defaults read com.google.Chrome читати налаштування хромованого запису з команди за замовчуванням, яку ви попросили.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.