Chcę poznać wszystkie klucze (listę właściwości), które są dostępne w niektórych aplikacjach domeny, na przykład mogę wyświetlić listę dostępnych kluczy com.apple.dock
, wprowadzając to polecenie:
$ defaults read com.apple.dock
ale w jakiś sposób wynik tego polecenia pokazał tylko aktywny klucz listy właściwości, a jednak nie wszystkie dostępne klucze dla com.apple.dock
wymienionych tam.
Czy ktoś może mi w tym pomóc?
command-line
defaults
plist
wongacid
źródło
źródło
defaults read
celu znalezienia kluczy do normalnych preferencji lub użyćCFPreferencesCopyValue
metody w gdb. Zobacz Jak poznać więcej domyślnych poprawek zapisu w OS X? - Super użytkownik .defaults read
aby znaleźć klucze do normalnych preferencji, uruchamiać ciągi na plikach binarnych frameworków lub użyćCFPreferencesCopyValue
metody w gdb. Zobacz Jak poznać więcej domyślnych poprawek zapisu w OS X? - Super użytkownik .Odpowiedzi:
Nie jest to trywialne zadanie, jeśli dobrze pamiętam, ludzie uruchamiają
strings
narzędzie w wierszu polecenia względem aplikacji i szukają rzeczy, które pasują do struktury podobnej do com.domain.FeatureName. (com.apple.iTunes, ch.cyberduck.CyberDuck, com.panic.Coda itp.)Prawdopodobnie najłatwiejszym sposobem zarządzania tymi przesłonięciami jest okienko Preferencji systemowych o nazwie Secrets . Użycie tego powoduje zainstalowanie okienka preferencji w Preferencjach systemowych i daje interfejs do wybierania aplikacji i zmiany ich ustawień zgodnie z konkretnymi preferencjami.
źródło
Znaleziono witrynę poświęconą domyślnym poleceniom zapisu w systemie Mac OS X, niektórym przydatnym poleceniom dla systemu Mac OS X Lion i Mountain Lion.
http://www.defaults-write.com
źródło
Naprawdę nie ma pojęcia „dostępnych” kluczy. Aplikacja może dowolnie czytać dowolne klucze. Większość osób odkrywa „tajne” klucze domyślne,
strings
przeglądając plik binarny aplikacji i sprawdzając, jakie klucze spróbuje odczytać.źródło
Większość ludzi chce tutaj robić wszystko za pomocą wiersza poleceń, ale mam bardziej praktyczną sugestię.
Te dwa programy opisane poniżej wymieniają wiele znanych, dostosowywanych z linii poleceń funkcji aplikacji Mac OS X, posortowanych według aplikacji lub funkcji. Zaletą jest to, że lista funkcji jest dla Ciebie; nie musisz szukać w Google, aby dowiedzieć się, jakie są funkcje i sekwencje wiersza poleceń potrzebne do zmodyfikowania każdej z nich.
Istnieje kilka darmowych lub komercyjnych aplikacji, które zapewniają graficzny interfejs użytkownika z listą większości wszystkich opcji dostosowywania, które można modyfikować za pomocą terminala. Aby aktywować dowolną z tych funkcji, korzystając z tych programów, które opisuję, robisz to w interfejsie GUI aplikacji i nie musisz wcale używać wiersza poleceń. Nie musisz nic wiedzieć
defaults write
ani.plist
plików.Dwie z tych aplikacji to:
TinkerTool
który jest bezpłatny, i
MacPilot
która została właśnie zaktualizowana o nowe funkcje Lion i kosztuje 20,00 USD.
Są to programy, które posiadam i których używam.
Pobierz bezpłatną TinkerTool i wersję próbną MacPilota, a następnie klikaj wszystkie karty, aby zobaczyć wszystkie niezliczone funkcje, które możesz dostosować. Jest ich zbyt wiele, by je tutaj wymienić.
Aktualizacja
Deweloper Frederik Wiker wydał darmowe aplikacje (zaakceptowane darowizny) do tworzenia domyślnych ustawień dostosowywania specyficznych dla Lion i Mountain Lion; wiele z nich działa również dobrze dla Mavericks (Mac OS X 10.9).
Pobierz je i zobacz, jakie dostosowania są dla Ciebie dostępne.
Lion Tweaks
Mountain Tweaks
źródło
Być może dość długie wyjaśnienie, w jaki sposób działają rzeczy, może wyjaśnić twoje i innych poszukiwania tych „ukrytych” preferencji.
Większość aplikacji odczyta swoje pliki preferencji po uruchomieniu, a
defaults
narzędzie istnieje, aby upewnić się, że pliki preferencji mają prawidłową strukturę i nie zawierają błędów składniowych. (Pozwala także systemowi zmienić sposób przechowywania kluczy, a ludzie nie muszą znać szczegółów implementacji i mogą używać polecenia defaults do wykonywania wszystkich odczytów i zapisów).Angielski styl i przewodniki gramatyczne zapewniają, że słowa, które tu piszę, są znaczące dla przeciętnego anglojęzycznego, a ujednolicenie domyślnego systemu ustala ramy, aby każdy wiedział, czego się spodziewać. Formatowanie listy preferencji jest znacznie bardziej sztywne i matematyczne niż ludzki język, ale pojęcia są podobne.
Domyślny system użytkownika Mac OS X to magazyn wartości klucza (lub baza danych, jeśli wolisz).
Możesz zapisać cokolwiek w tych sklepach z kluczowymi wartościami preferencji, sonetem Szekspira, liczbami, listą zakupów. Jeśli program jest zakodowany w poszukiwaniu określonego klucza, odczyta przechowywaną wartość. Jeśli nie szuka tego klucza - jego wartość pozostaje niewykorzystana i nieprzeczytana.
W ten sposób dowiesz się, jakich wartości może szukać konkretny program podczas uruchamiania. Sprowadza się to do tego, że musisz znać wartość lub poddać inżynierii wstecznej program.
Istnieje wiele narzędzi do wyszukiwania programu i próbowania dowiedzieć się, jakie łańcuchy (klucze) są osadzone, takich jak
strings
i dbx / lldb, a także łączenia we własnej bibliotece w celu zrzucenia wewnętrznej struktury określonego programu.W praktyce niektóre rzeczy, które są potrzebne do testowania, są dodawane w ten „ukryty” sposób, abyś nie mógł patrzeć na panel preferencji programu i zobaczyć tych nowych funkcji, które nie są gotowe do szerokiego zastosowania. W pewnym sensie uzyskanie pełnej listy wcale nie jest proste, chyba że autor tego programu opublikuje kod źródłowy lub w inny sposób udokumentuje te ustawienia publicznie.
Gdy czytasz domyślny sklep dla konkretnej aplikacji - po prostu czytasz „książkę”, która została napisana podczas tworzenia aplikacji, jest to domyślny zestaw lub ustawienia dostarczone z Mac OS X. Dlatego nie otrzymujesz wyczerpującego lista rzeczy, które można realistycznie zmienić za pomocą tej aplikacji.
źródło
O ile wiem, aplikacja będzie przechowywać nowy klucz tylko wtedy, gdy różni się od domyślnych, przynajmniej tak robią moje aplikacje. Nie jest to coś, co można łatwo kontrolować, ponieważ jest to część frameworku User Defaults, ponieważ aplikacja informuje użytkownika tylko to, czego potrzebuje, a resztą zajmuje się. Niestety nie sądzę, że informacje, których szukasz, będą łatwo dostępne. Może być miło mieć do tego dostęp.
źródło