「このアプリケーションで開く」の設定が再起動の度に元に戻ってしまう

旧ディスカッションボードの「インストールとセットアップ」にあったスレッドですが,Finderの方が関連が深いと思いこちらに投稿します。


状況を整理すると,

・FileVaultアカウントで発生する。
・シャットダウン後に以下の設定が消える。
ファイルの種類とアプリケーションとの関連づけ(「このアプリケーションで開く」で「すべてを変更...」をクリックして設定した情報)
関連するファイルは,

~/Library/Preferences/com.apple.LaunchServices.plist


・不完全ながら 解決方法はあり,その情報提供者はアップルへのフィードバックを推奨している。
・副作用として,アプリケーションを初めて開く時の確認ダイアログがうるさい。

というものです。私もこの問題で不便を被っており,フィードバック済みです。


私の方法は,(まともな状態での)上記「com.apple.LaunchServices.plist」を複製して「com.apple.LaunchServices.plist.backup」という名前にしておき,以下の内容のスクリプトファイル(ファイル名の最後を「.command」にしたファイルを作成し,ターミナルコマンド「chmod +x 」の後に作成したファイル名を入力してEnterキーを押し,実行可能にしたもの。)を作成して修正したい時にダブルクリックで実行させています。(リンク先ではログイン毎に実行すると言っておりますが,確認ダイアログがあまりにもうるさいのでお薦めできません。)

尚まともな状態のバックアップを作成しておく必要があるのは私の場合だけのことかも知れません。今一つ再現条件が不明で,私の環境ではまっさらな状態のファイルになってしまう(別の問題かもしれませんが)ことがあります。

この問題の完全な解決方法についてのアドバイスを期待します。


コマンドファイルの内容は次の行以降3行分です。

#!/bin/sh cp ~/Library/Preferences/com.apple.LaunchServices.plist.backup ~/Library/Preferences/com.apple.LaunchServices.plist /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

投稿日 2009/04/03 03:16

返信
返信: 6

2009/04/03 07:19 kanegami への返信

#! /bin/bash

cp -f ~/Documents/com.apple.LaunchServices.plist ~/Library/Preferences

exit 0


お好き場所で、名前の変更は必要ないし何度でもcopyできます。名前に.commandはつけないほうが良いかも。お試しになって駄目ならあしからず...


$HOME/Library/Scripts/ ここに置いて...

/Applications/AppleScript/AppleScript Utilityを使えばMenu barからアクセス出来ます。


System Preferences > Accounts

Login Itemsに登録すると起動時に実行します。


なお/System/Library...の実行が必要なら書き込んで下さい。

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

# symbolic linkを使うと最短で辿り着きます。

2009/04/07 01:47 ぴっぴ への返信

>Shell Scriptを組んだら必ず結果の確認、修正して正常に動くようにしないと...

>何処に問題があるのかお分かりですか?


私の環境では特に問題は出なかったもので。

恐れ入りますがご教示ください。


# symbolic linkのご教示ありがとうございました。

2009/04/07 02:28 kanegami への返信

com.apple.LaunchServices.plistがPreferences/にあるのでcopyされません。これがcopyされればlsregisterの実行は不要だと思います。

# Labelで色を付けてscriptを実行すればcopyされないのが確認できます。rmで消してからcopyするなら動きます。


# 私ならsparseimageにcom.apple.LaunchServices.plistを入れてscriptの実行でmountしてcopy... ejectして終るscriptを組みlsregisterは実行したい時に実行するようにします。

2009/04/07 04:16 ぴっぴ への返信

>com.apple.LaunchServices.plistがPreferences/にあるのでcopyされません。これがcopyされればlsregisterの実行は不要だと思います。


私の環境ではコピーされました。

試しに新規FileVaultアカウントを作って試してみましたが,書き込み許可が設定されており,やはりちゃんと上書きされました。

>For each destination file that already exists, its contents are overwritten if permissions allow.


このファイルのバックアップが必須かどうかは判断できませんが,リンク元が提示しているのはlsregisterの実行の方です。

lsregisterの実行だけでは「このアプリケーションで開く」の設定が正しい状態に戻らないことがあるのでは無いかと疑っているのですが,再現状況をまだ絞り込めていません。私の環境で再現したのは「電源を切る(Shut Down)」ことで,その後起動した後で何にも設定されていない状態になっていました。

ただし私の環境は確実に大多数のユーザとは異なる点があり,その影響が無いとは言えず,かといって標準的な状況を作ることは恐ろしく困難なため断言できないでおります。


「このアプリケーションで開く」の設定が再起動の度に元に戻ってしまうことに悩んでいるFileVaultユーザについては,lsregisterの実行で解消する可能性があることをお知らせしたかったのと,私もアップルへの積極的なフィードバックが必要と思い呼びかけたものです。

2009/04/07 06:12 kanegami への返信

kanegami による書き込み:


私の環境ではコピーされました。

試しに新規FileVaultアカウントを作って試してみましたが,書き込み許可が設定されており,やはりちゃんと上書きされました。

>For each destination file that already exists, its contents are overwritten if permissions allow.

でしたら copy -f をつけて強制的に行えば良いと思います。


LeopardとFileVault 何か何処かに簡単なミスがあるのかも知れませんね。

# 当方Tigerなのでこれ以上のコメントはできませんが、この件で何か面白い情報があったら書き込みます。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

「このアプリケーションで開く」の設定が再起動の度に元に戻ってしまう

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。