8
OS X で Java インストール ダイアログが表示されるのはなぜですか?

Robert Vallee 氏は、表示され続ける Java ダイアログに関する簡単なリクエストを投稿しました。

何度も表示されるこの粘着性のあるポップアップ ウィンドウを削除するにはどうすればよいでしょうか?

mac911 java レガシーインストールプロンプト

このJavaダイアログは、少なくともJavaを必要とするアプリを教えてくれます。しかし、なぜこのダイアログが表示されるのか、詳しい説明が全くないことがよくあります。

ポップアップ ダイアログは、いくつかの観点からイライラさせられます。

  • Java のレガシーバージョンをインストールする必要があると書かれていますが、これはセキュリティ上の問題を引き起こすことを意味しているようです。
  • 何もしていないときに表示されることが多く、アクションとは関係ありません。
  • 選択肢は「詳細情報」と「OK」の2つですが、フォーカスは「詳細情報」にあります。Returnキーを押すと、「詳細情報」に関連付けられたWebページが開きます。
  • ダイアログが表示される原因が必ずしも説明されるわけではありません。Robert の場合は、Web コンテンツと表示されました。私が確認した限りでは、ダイアログが表示される原因が全く示されていませんでした。

ロバート、お気持ちはよく分かります。Yosemite をインストールして以来、私もこの問題に時々悩まされています。Yosemite では何とか解決できたのですが(理由は今でも分かりません)、その後 El Capitan パブリックベータ版をインストールしたらまた同じ問題が発生しました。最近、数週間にわたって毎日何度も発生していたこの問題を、またもや解決できたのですが、これもまた原因が分かりません。

良いニュースは、無視して構わないということです。「OK」をクリックして、忘れてください。悪いニュースは、これが非常に煩わしく、邪魔だということです。残念ながら、AppleはOS Xがダイアログを作成しているにもかかわらず、このダイアログを無効にするオプションを提供していません。AppleはMountain Lion以降、Javaの同梱を停止しましたが、特別なレガシーバージョンを提供しています。

Javaはウェブサイト経由での使用においてセキュリティ上の欠陥が多々あり、Macユーザーにとってメリットが全くなかったため、AppleはLionとMountain Lionのアップデートでブラウザでの使用を無効化しました。しかし、クロスプラットフォーム対応の「Mac」アプリの中には、OS Xで実行可能な形でJavaをパッケージ化しただけのものもあります。CrashPlan for OS XはJavaベースのままですが、AppleはJavaランタイムエンジンをソフトウェアパッケージに組み込むようディストリビューションを刷新しました。(Javaの設定パネルがある場合は、そこでセキュリティ設定が適切であることを確認できます。特にブラウザでJavaが実行されないように設定できます。)

しかし、Javaを必要とするプログラムを起動すると、その旨が明示的に通知されます。ロバートや私、そして多くの人を困惑させるダイアログは、操作に必要な情報が十分にないまま表示されます。

過去 1 年間、インターネットでアドバイスを探し回った結果、試してみるべきいくつかの提案があります。

システム環境設定の「ユーザとグループ」を確認してください。 リストからユーザー名を選択し(まだ選択されていない場合)、ログイン項目をクリックしてください。続行するにはアカウントの認証が必要になる場合があります。ほとんどのアプリは、バックグラウンドエージェントの起動にログイン項目を使用しないように移行しており、より信頼性が高く推奨される別のプロセスを使用するはずです。

私のリストには、起動したいアプリが1つだけあります。EyeTVは、起動時に実行される「ヘルパー」アプリを備えた唯一のパッケージです。もし、もう使わないアプリがあれば、それを選択してマイナス記号(-)をクリックして削除してください。

一部のユーザーから、古いAdobe Creative Suiteエージェントが、特定のバージョンの使用を中止してからかなり経った後もこのリストに残っているという報告があり、それらのエージェントを削除すると問題が解決したとのことです。Dreamweaverの以前のバージョンなど、一部の古いWeb開発ソフトウェアでは、OS XベースのJavaのインストールが必要になる場合があります。QoppaのPDFモジュールとソフトウェアもJavaを使用しているため、古いシステムでダイアログが表示されるユーザーもいるかもしれません。

古くなった起動エージェント、デーモン、プラグイン:  OS Xでは、ソフトウェアが様々なツールを組み込むことで、必要に応じてシステムコンポーネントを起動できます。Finderやその他のバックグラウンドプロセスから起動されるコンポーネントが、古くてどこかに隠れている可能性があります。Finderで「移動」>「フォルダへ移動」(Command-Shift-G)を選択し、以下のコマンドを順に貼り付けてください。

/Library/LaunchAgents /Library/LaunchDaemons /Library/Internet Plug-Ins

mac911 レガシーインストール済みプラグイン

この記事を調査しているときに、インターネット プラグイン フォルダーに大量の不要なファイルがあることがわかりました。

これらはすべてのユーザーがグローバルに利用できる項目です。先頭にチルダ(~)を追加すれば、~Library/自分のユーザーアカウントで同じサブフォルダを確認できます。そこには様々な意味不明なものが見つかるかもしれません。私は何年も前の項目を見つけました。中にはもう何もしなくなったものもあれば、バックグラウンドで永遠にCPU時間を浪費しているものもあります。

不要なものを選択してゴミ箱に移動してください。操作を完了するには、アカウントの認証が必要になる場合があります。

Java を使用するソフトウェアを確認する: 上記のいずれも効果がない場合は、アプリケーション フォルダーを調べて、そこに原因となりそうなものが隠れていないかどうか調べる必要があります。

Appleフォーラムの賢いメンバーが、ターミナルで長々と入力するコマンドを提案してくれました。このコマンドを使えば、Javaコンポーネントを含むすべてのアプリの概要を(数分ほどの作業で)表示できます。以下の行全体をコピーし、ターミナルプロンプトに入力してください。

find /Applications -type d -name *.app -prune -exec sh -c 'ls -R "$1" | grep -q .jar$' {} {} ; -print

これらのアプリのすべてがJavaを使用しているわけではありませんが、いずれもJavaコンポーネントを含んでおり、その一部はプログラムの使用中またはバックグラウンドで起動される可能性があります。また、CrashPlanのように、完全なJavaランタイムを含むアプリもあります。

残念ながら、上記のすべてを試してもダイアログボックスが表示される場合があります何がうまくいったか、何がうまくいかなかったかをコメント欄または[email protected]までお知らせください。

Cynthia D'Angelo さん、ご自身のダイアログボックスを削除できるよう、12 以上の修正方法を辛抱強くテストしていただきありがとうございました。今のところ、どれもうまくいきませんでした。

Mac 911に問い合わせる

私たちは常に解決すべき問題を探しています!スクリーンショットなど、必要に応じてスクリーンショットを添えて、[email protected]までメールでお送りください。Mac 911 では、メールでの返信でトラブルシューティングのアドバイスを提供したり、すべての質問への回答を公開したりすることはできません。