Mac OS X Leopard에서 파일 연결을 수동으로 수정할 수있는 시스템 환경 설정 패널이 있다는 것을 알고 있습니다. 그러나 Leopard는 실제로 이러한 정보를 어디에 저장합니까?
나는 그것들을 변경하는 방법에 관심이 없습니다. 해당 매핑이 저장된 구성 파일 또는 데이터베이스 (Windows의 레지스트리와 같은)를 알고 싶습니다.
죄송합니다.이 질문은 오래되었지만 대답이 정말 잘못되었습니다.
Toolbear가 언급했듯이 Doug Harris의 대답은 부분적으로 만 정확합니다.
Launch Services Database 파일. 여기서 모든 정보 모든 알려진 응용 프로그램과 처리 할 수있는 문서 유형은 다음 위치에 저장됩니다.
사자:
/private/var/folders/**/**/-Caches-/com.Apple.LaunchServices-034501.csstore
눈표범:
/private/var/folders/**/**/-Caches-/com.Apple.LaunchServices-025501.csstore
표범:
/Library/Caches/com.Apple.LaunchServices-023501.csstore
/private/var/folders/
폴더는 각 사용자에 대한 "보안"캐시 및 임시 폴더가 저장되는 곳입니다. 위에 표시된 경로의 **는 /dl/dlXWtS5WH9SNboPxxrDIyE+++TI/
또는 추측을 방지하기위한 다른 모호한 문자 시퀀스입니다.
이름 com.Apple.LaunchServices-025501.csstore
은 Snow Leopard에 고유 한 501
접미사에 추가 된 사용자 ID (내는 -025
)로 구성됩니다. (각 OS X 버전에서 Apple는 서로 다른 OS X 버전 간의 호환성 문제를 방지하기 위해 사용되는 구분 접미사를 변경하는 경향이 있습니다. Leopard가 -023
를 사용했음을 알 수 있습니다.)) . Lion은 -034
접미사를 사용하고 있습니다.
OS X은 "기본"시스템을 사용합니다. 여기에 많은 예제가있는 좋은 기사 가 있습니다. 파일은 ~/Library/Preferences에 저장되지만 plist를 직접 편집하는 것보다 "defaults"명령으로 조작하는 것이 가장 좋습니다.
파일 연결은 com.Apple.LaunchServices 도메인에 저장됩니다. 위의 링크에서 다음 명령으로 목록을 볼 수 있습니다.
defaults read com.Apple.LaunchServices | grep -v LSBundleLocator
특히 Launch Services에 대한 자세한 내용은 Apple의 Launch Services Programming Guide 에서 찾을 수 있습니다.
@Doug Harris의 대답은 부분적으로 만 정확합니다. 기본값 시스템은 파일 연결에 대한 로컬 추가 또는 재정의를 저장합니다. 그러나 OS X에는 몇 가지 기본 시스템 전체 연결이 제공됩니다.
lsregister -dump
를 실행하면 Launch Services에서 CoreTypes
라고 부르는 것과 찾은 응용 프로그램에서 제공하는 연결을 볼 수 있습니다.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
출력을 철저히 스캔하지 않았습니다. 해당 덤프에 표시된 다른 소스가있을 수 있지만 이러한 유형의 대부분은 /System/Library/CoreServices/CoreTypes.bundle
에서 비롯됩니다. 유형이 열거되는 곳에 일반 텍스트 또는 plist 파일이있을 수 있습니다. 내가 생각하는 연관성은 알려진 응용 프로그램 위치에서 * .app의 내용을 스캔 한 결과입니다. 다음은 Launch Services가 TextWrangler가 수많은 파일 형식에 대한 편집기임을 이해하는 곳입니다.
--------------------------------------------------------------------------------
bundle id: 10928
path: /Applications/TextWrangler.app
name: TextWrangler
identifier: com.barebones.textwrangler (0x8000008d)
...
library items:
--------------------------------------------------------
claim id: 20216
name: TextWrangler text document
rank: Default
roles: Editor
flags: relative-icon-path
icon: Contents/Resources/TextWranglerTextDoc.icns
bindings: .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .Java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'TEXT'
...
쉬워요! 가장 명백한 위치에 있지 않다는 것입니다.
나가서 RCDefaultApp prefpane을 설치하여 모든 파일 연결을 한 곳에서 수정할 수도 있습니다.