Mac OS X Leopard에서 파일 연결을 수동으로 수정할 수있는 시스템 환경 설정 패널이 있다는 것을 알고 있습니다. 그러나 Leopard가 실제로 이러한 정보를 어디에 저장하는지 궁금합니다.
나는 그것들을 바꾸는 방법에 관심이 없다. 해당 매핑이 저장된 구성 파일 또는 데이터베이스 (예 : Windows의 레지스트리)를 알고 싶습니다.
Mac OS X Leopard에서 파일 연결을 수동으로 수정할 수있는 시스템 환경 설정 패널이 있다는 것을 알고 있습니다. 그러나 Leopard가 실제로 이러한 정보를 어디에 저장하는지 궁금합니다.
나는 그것들을 바꾸는 방법에 관심이 없다. 해당 매핑이 저장된 구성 파일 또는 데이터베이스 (예 : Windows의 레지스트리)를 알고 싶습니다.
답변:
죄송합니다.이 질문은 오래되었지만 대답은 실제로 잘못되었습니다.
툴 베어가 언급했듯이 Doug Harris의 답변은 부분적으로 만 정확합니다.
시작 서비스 데이터베이스 어디 파일 모두 에 대한 정보의 모든 알려진 응용 프로그램과 그들이 처리 할 수있는 문서의 종류가 저장은 다음 위치에 있습니다 :
사자:
/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 (mine is )로 구성됩니다 -025
. (OS X의 각 버전에서 Apple은 다른 버전의 OS X 간의 호환성 문제를 방지하기 위해 사용되는 구별 접미사를 변경하는 경향이 있습니다 -023
. Leopard는을 사용했습니다 . 라이온이 -034
접미사를 사용하고 있습니다.
$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
Info.plist
파일 ( developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… )이 있습니다. Launch Services는 모든 정보를 동적으로 수집하여 위에서 언급 한 데이터베이스를 만듭니다. 데이터베이스 파일이 제거 된 경우 서비스 시작 (특히 lsregister
도구 -ss64.com/osx/lsregister.html )이 다시 작성할 수 있습니다.
..
"레벨 상승"을 의미 함).
OS X은 "기본"시스템을 사용합니다. 여기 에 많은 예제 가있는 멋진 기사 가 있습니다. 파일은 ~ / Library / Preferences에 저장되지만 plists를 직접 편집하는 대신 "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'
...
-bash: lsregister: command not found
매버릭스의 FYI
쉬워요! 그것은 가장 분명한 장소에 있지 않다는 것입니다.
RCDefaultApp prefpane을 설치 하여 모든 파일 연관을 한곳에서 수정할 수도 있습니다 .