Wiem, że istnieje panel preferencji systemowych do ręcznej modyfikacji skojarzeń plików w systemie Mac OS X Leopard. Jestem jednak ciekawy, gdzie Leopard przechowuje te informacje?
Nie interesują mnie metody ich zmiany. Chcę znać plik konfiguracyjny lub bazę danych (np. Rejestr w systemie Windows), w której przechowywane są te mapowania.
macos
mac
file-association
osx-leopard
Mehrdad Afshari
źródło
źródło
Odpowiedzi:
Przepraszamy, to pytanie jest stare, ale odpowiedź jest naprawdę błędna.
Jak wspomniano o narzędziach, odpowiedź Douga Harrisa jest tylko częściowo poprawna.
Plik bazy danych usług uruchamiania , w którym przechowywane są wszystkie informacje dotyczące wszystkich znanych aplikacji i typów dokumentów, które mogą obsługiwać, znajduje się w następującej lokalizacji:
Lew:
/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-034501.csstore
Pantera śnieżna:
/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-025501.csstore
Lampart:
/Library/Caches/com.apple.LaunchServices-023501.csstore
W
/private/var/folders/
folderze przechowywane są „bezpieczne” pamięci podręczne i foldery tymczasowe dla każdego użytkownika. ** na ścieżce pokazanej powyżej będzie czymś w rodzaju/dl/dlXWtS5WH9SNboPxxrDIyE+++TI/
lub inną nieznaną sekwencją znaków, aby zapobiec zgadywaniu.Zauważ, że nazwa
com.apple.LaunchServices-025501.csstore
składa się z identyfikatora użytkownika (moje jest501
) dołączonego do-025
sufiksu, który jest unikalny dla Snow Leopard. (W każdej wersji OS X Apple zazwyczaj zmienia sufiks wyróżniający używany, aby zapobiec problemom ze zgodnością między różnymi wersjami OS X. Zauważysz, że używał Leopard-023
). Lion używa-034
przyrostka.źródło
$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
Info.plist
plik ( developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… ), który opisuje jego możliwości. Uruchom usługi zbiera wszystkie te informacje dynamicznie, aby utworzyć wspomnianą powyżej bazę danych. Jeśli plik bazy danych został usunięty, uruchom Usługi (w szczególnościlsregister
narzędzie - ss64.com/osx/lsregister.html ) może je ponownie utworzyć...
oznacza „idź wyżej”).OS X używa systemu „domyślnego” - oto fajny artykuł z dużą ilością przykładów. Pliki są przechowywane w ~ / Library / Preferences, ale najlepiej manipulować poleceniem „defaults” zamiast bezpośrednio edytować listy.
Powiązania plików są przechowywane w domenie com.apple.LaunchServices. Z powyższego linku możesz wyświetlić listę za pomocą tego polecenia:
O wiele więcej informacji na temat usług Launch Services można znaleźć w przewodniku Apple Launch Services Programming Guide
źródło
Odpowiedź @Douga Harrisa jest tylko częściowo poprawna. Domyślny system przechowuje lokalne dodatki lub przesłonięcia skojarzeń plików. Jednak OS X ma pewne domyślne, systemowe powiązania.
Jeśli uruchomisz
lsregister -dump
, zobaczysz, co wywołuje usługi Launch ServicesCoreTypes
i skojarzenia dostarczone przez znalezione aplikacje.Nie przeskanowałem wyczerpująco wyniku. Mogą być inne źródła wskazane na tym zrzucie, ale duża ich liczba pochodzi
/System/Library/CoreServices/CoreTypes.bundle
. Tam może być plik zwykłego tekstu lub listy plist, w którym typy są wyliczane. Uważam, że skojarzenia pochodzą ze skanowania zawartości * .app w znanych lokalizacjach aplikacji. Oto, gdzie Launch Services rozumie TextWrangler to edytor wielu typów plików:źródło
-bash: lsregister: command not found
w MavericksBułka z masłem! Po prostu nie jest w najbardziej oczywistym miejscu:
Możesz także wyjść i zainstalować panel wstępny RCDefaultApp, aby zmodyfikować wszystkie powiązania plików w jednym miejscu.
źródło
~/Library/Preferences/com.apple.LaunchServices.plist
źródło