3
サービスは徹底的に検査される

少し前に、OS Xのサービスメニューについて長々と書きました。簡単にまとめると、サービスメニューは潜在的に非常に便利です。多くのアプリケーションから選択した項目(テキスト、ファイル、フォルダ)に対して操作を実行できるからです。しかし、ユーザーはこのメニューを制御できません。インストールされているアプリケーションによって変更される可能性があり、メニューの変更はユーザーに通知されません。

サービスの普及

時間が経つにつれて、特に私のようにOS Xの膨大なアプリケーションをダウンロードして試してみるのが好きな人は、サービスメニューが手に負えなくなることがあります。実例として、OS X 10.4をクリーンインストールしてからわずか数か月後の私のG5のサービスメニューは以下のようになりました。

うわあ!あのメニューは全然使い物にならないし、絶対に使わないサービスがいっぱい並んでる。(Call of Dutyのマルチプレイヤーサーバーを起動?中国語のテキストを翻訳?)残念ながら、Appleが提供するサービスメニューの管理方法はない。

Peter Maurer氏のService Scrubber ドネーションウェア)の登場です。(情報開示:Service Scrubberのクレジットには私の名前が記載されています。そもそもPeter氏にこのアプリケーションを開発するきっかけとなったのは、私が不満を漏らしたことだったからです。しかし、最初の協力要請と初期バージョンのテスト以外、私は製品開発には一切関わっていません。)

サービススクラバーの使用

Service Scrubber は、非常にシンプルな目的を持つアプリケーションです。ユーザーにサービスメニューの管理権限を与えることです。プログラムを起動すると、マシンに登録されているすべてのサービスをスキャンします。この処理には、特にサービスの数が多い場合は少し時間がかかります。最初のスキャンが完了すると、Service Scrubber ウィンドウが表示されます。

サービススクラバーの使い方は2通りあります。「ソース」列の「サービス」メニュー項目を選択すると、アプリケーションが提供する任意のサービスを直接有効化または無効化できます。サービス名の横にあるチェックマークを外すと、メニューから削除されます(「保存」ボタンをクリックするとすぐに削除されます)。これは「サービス」メニューを空にする最も簡単な方法です。リストをスクロールして、有効化したいサービスだけを残すだけです。しかし、見慣れない名前のサービスが表示された場合はどうすればよいでしょうか?あるいは、リストに明らかに重複したサービスが表示された場合はどうすればよいでしょうか?

そのような場合は、「ソース」列の「サービスプロバイダー」セクションのエントリを活用するとよいでしょう。この領域には、「サービス」メニューにサービスを提供しているすべてのアプリケーションのエントリが表示されます。「サービスプロバイダー」セクションのエントリをクリックすると、サービススクラバーウィンドウの下部に、選択したプログラムのフルパスが表示されます。これは、他のハードドライブやパーティションから重複したファイルを見つけるのに便利な方法です。以下はその例です。

SpeechService と Stickies の両方に複数のエントリがあることに注目してください。これは、3 つの別々の OS X パーティション (10.3.9、現在のライブ バージョン、実験的なパーティション) があり、これらのサービスが 3 つすべてに存在するためです。(Service Scrubber の環境設定には、ブート ボリュームのみを検索するオプションがあります。) ただし、強調表示された行で示されているように、古いシステム ディスクにある Stickies のコピーのエントリを無効にし (実験的なパーティションについても同じ操作を行いました)、ブート ディスクのエントリだけを残しています。実際には、OS X のサービス メニューにまったく重複したエントリは表示されないため、これを行う必要はありません。構造を視覚的にクリーンにして、特定のサービスのどのバージョンが使用されているかを正確に把握できるようにしたいだけです。

独自のキーボードショートカットを割り当てることもできます。値を設定または変更したいエントリの横にある「キー」列をダブルクリックすると、インスペクターウィンドウが開きます。(サービスを含むフォルダのショートカットは変更できません。サービス自体のショートカットのみ変更できます。)「キーボードショートカット」ボックスに、お好みのショートカットを入力してください。このダイアログでサービスの名前を変更したり、並べ替えたりすることもできます。ただし、サービスを移動したり並べ替えたりするGUIツールはないため(インスペクターウィンドウの「サブメニュー」ボックスにフォルダ名を入力する必要があります)、並べ替え機能を過度に使用することはお勧めしません。

必要に応じてサービスのチェックをオン/オフにしたら、ツールバーの「保存」ボタンをクリックします。プロンプトが表示されたら管理者パスワードを入力すると、Service Scrubber によって変更が半永久的に保存されます。「半永久的」というのは、Service Scrubber はインテリジェントな動作をするため、保存後でも変更を簡単に元に戻すことができるからです。「ソース」列では、無効化されたサービスは、名前の横に小さな三角形が入った丸のアイコンが表示されます。このアイコンをクリックすると、サービスが再び有効化されます。そのため、無効化したサービスが必要になった場合でも、簡単に元に戻すことができます。

Service Scrubberを使うことで、もう一つメリットがあることに気付きました。特定のアプリケーションの重複コピーが複数のハードドライブに保存されていたのです。Service Scrubberの「ソース」列にそれらすべてが表示され(パスとショートカットの「移動」ボタンが下のステータスバーに表示)、Finderで重複を削除するのは簡単でした。

結論

Service Scrubberのおかげで、(ついに!)サービスメニューを自分で管理できるようになりました。数ヶ月前にインストールしてからというもの、以前よりもずっと頻繁にサービスを使うようになりました。主な理由は、サービスメニューが適切なサイズになったことです。

「一括編集」が完了したら、Service Scrubber を毎日実行する必要はありません。代わりに、月に1回程度実行するリストに追加するか、新しいアプリケーションがサービスメニューに忍び込んでいることに気づいたときに再度実行してください。

Apple は、OS X に同様の機能を組み込む必要があります。ただし、それが実現するまでは、Service Scrubber がその役割を担うことになります。