Mac OS Xはファイルの関連付け情報をどこに保存しますか?


24

Mac OS X Leopardでファイルの関連付けを手動で変更するためのシステム環境設定ペインがあることを知っています。しかし、私はLeopardが実際にこれらの情報をどこに保存するのか興味がありますか?

それらを変更する方法には興味がありません。これらのマッピングが保存されている構成ファイルまたはデータベース(Windowsのレジストリなど)を知りたい。


「mac」と「osx」でタグを付け直してください(これらのタグはより広く使用されています)
ティロ

これに関するメタについての議論がありましたが、どのタグが勝つかを結論付けることはできませんでした。
Mehrdadアフシャリ

勝者を決める最善の方法は数字を見ることだと思います。人気は、ソーシャルネットワークサイトの分類法を上回ります。
ティロ

superuser.com/questions/17761/…も参照してください(若干異なりますが、役立つ場合もあります)。
ジョナサンレフラー

回答:


12

申し訳ありませんが、この質問は古いですが、答えは本当に間違っています。

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サフィックスを使用してい ます。


2
エルキャピタン10.11.4:$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
ロブマヨフ

ただし、これらは一時フォルダーです。それらは、中央に保管される場所にはできません。
Melab

1
@Melab:Macシステム上の各アプリケーションには、その機能を説明するInfo.plistファイル(developer.apple.com/library/mac/documentation/MacOSX/Conceptual/…)があります。Launch Servicesは、すべての情報を動的に収集して、上記のデータベースを作成します。データベースファイルが削除された場合、Launch Services(具体的にはlsregisterツール-ss64.com/osx/lsregister.html)で再作成できます。
NSGod

実際には、パスから見る、一時フォルダと一緒に保存されているように見えます(..「レベルを上げる」という意味です)。
SilverWolf-モニカの復元17年

18

OS Xは「デフォルト」システムを使用します。ここに多くの例がある素晴らしい記事があります。ファイルは〜/ Library / Preferencesの下に保存されますが、plistsを直接編集するのではなく、「defaults」コマンドで操作するのが最善です。

ファイルの関連付けは、com.apple.LaunchServicesドメインの下に保存されます。上記のリンクから、このコマンドでリストを見ることができます:

defaults read com.apple.LaunchServices | grep -v LSBundleLocator

Launch Servicesの詳細については、特にAppleのLaunch Servicesプログラミングガイドをご覧ください。


15

@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'
    ...

1
FYI -bash: lsregister: command not foundin Mavericks
スリップD.トンプソン14

2
@ SlippD.Thompsonは次の行を注意深く見て、パスがそこに指定されています。
ドミトリーギンツブルク14

2

簡単!その最も明白な場所にはないというだけです:

  • あなたは関連付けを変更し、「選択したいファイルを右クリックして情報を見る」(または単に選択し、ヒットCommand+I
  • [ 開く]に移動し(横にある矢印をクリックして展開する必要がある場合があります)、ドロップダウンボックスから別のプログラムを選択します。
  • すべてを変更...」ボタンをクリックして、システム上の同じ拡張子のすべてのファイルのこのファイルの関連付けを変更します。

ここに画像の説明を入力してください

外出してRCDefaultApp prefpaneをインストールし、すべてのファイルの関連付けを1か所で変更することもできます。


3
質問を読みましたか?これは、関連付けを変更する方法ではなく、OS Xが情報を保存する場所に関するものでした。
ジョニック2009

1
ええ、しかしそれらを変更する方法を知ることも助けになります。助けてくれたように... @joshhunt:たぶん、ファイルを選択した状態でFinderにGet Infoのものがあることを明示したなら。(ちょうど別のファイルを取得する1つのアプリケーションを元に戻す必要がありました-これは助けました。)
ジョナサンレフラー

@LauriRantaあなたは絶対に正しいです、実際にそれを投稿した後、私はそれを削除したかったのですが、見つけられませんでした!
オコド

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.