Mac OS X Leopardでファイルの関連付けを手動で変更するためのシステム環境設定ペインがあることを知っています。しかし、私はLeopardが実際にこれらの情報をどこに保存するのか興味がありますか?
それらを変更する方法には興味がありません。これらのマッピングが保存されている構成ファイルまたはデータベース(Windowsのレジストリなど)を知りたい。
Mac OS X Leopardでファイルの関連付けを手動で変更するためのシステム環境設定ペインがあることを知っています。しかし、私はLeopardが実際にこれらの情報をどこに保存するのか興味がありますか?
それらを変更する方法には興味がありません。これらのマッピングが保存されている構成ファイルまたはデータベース(Windowsのレジストリなど)を知りたい。
回答:
申し訳ありませんが、この質問は古いですが、答えは本当に間違っています。
toolbearが述べたように、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(私の場合は)で構成されていることに注意してください-025
。(OS Xの各バージョンでは、AppleはOS Xの異なるバージョン間の互換性の問題を防ぐために使用される区別するサフィックスを変更する傾向があります。Leopardが使用していることに気付くでしょう-023
)。Lionは-034
サフィックスを使用してい ます。
$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
Info.plist
ファイル(developer.apple.com/library/mac/documentation/MacOSX/Conceptual/…)があります。Launch Servicesは、すべての情報を動的に収集して、上記のデータベースを作成します。データベースファイルが削除された場合、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プログラミングガイドをご覧ください。
@Doug Harrisの答えは部分的に正しいだけです。デフォルトシステムは、ファイルの関連付けに対するローカルの追加または上書きを保存します。ただし、OS Xにはデフォルトのシステム全体の関連付けがいくつかあります。
実行lsregister -dump
するCoreTypes
と、Launch Servicesが呼び出すものと、それが検出したアプリケーションによって提供される関連付けが表示されます。
/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
in Mavericks
簡単!その最も明白な場所にはないというだけです:
外出してRCDefaultApp prefpaneをインストールし、すべてのファイルの関連付けを1か所で変更することもできます。