74
Macのスタートアップ項目を削除する方法

Macの電源を入れると、様々なアプリ、アドオン、そして目に見えないバックグラウンドプロセスが勝手に動き始めます。これは通常、望ましい動作ですが、自分で追加した覚えのない項目が動作しているのを見かけることがありますが、一体どこから来るのでしょうか?

これらのプロセスやアプリは問題を引き起こす場合があり、Macを正常に動作させるには削除する必要があります。また、問題がなくても、これらの項目はMacの起動時間を長くし、パフォーマンスを低下させる可能性があります。Macが自分にとって必要な項目だけを読み込んでいることを確認する必要があります。ここでは、さまざまな種類の起動項目とログイン項目とその管理方法について簡単に説明します。

ログイン項目

macOS 13 (Venutra) 以降:システム設定を開き、  「一般」をクリックし、「ログイン項目」をクリックします。ログインするたびに起動するアプリのリストと、アプリが起動していない場合でもバックグラウンドでプロセス(アップデートの確認やデータの同期など)を実行できるアプリのリストが表示されます。

Macの起動項目

鋳造所

macOS 12 (Monterey) 以前:システム環境設定を開き、 「ユーザーとグループ」をクリックし 、「ログイン項目」タブをクリックします。ログインするたびに開くアプリ(およびファイルとフォルダ)のリストが表示されます。このリストは、Mac 上のユーザーアカウントごとに異なります。

通常、このリストに項目が表示されるのは、インストールしたアプリによって追加された項目です。ほとんどのアプリは、事前に許可を求めるか、設定で「ログイン時に開く」などのチェックボックスをオンにしています。いずれの場合も、項目を手動でリストに追加するには(+)ボタンをクリックするか、項目を選択してマイナス記号(-)ボタンをクリックします。変更を行うには、Macのユーザープロファイルにログインする必要がある可能性があります。

StartupItemsフォルダ

以前のバージョンのmacOSでは、 Macの起動時に読み込む項目を保存するために、/Library/StartupItems/System/Library/StartupItemsという2つのフォルダを使用していました。Appleは現在、StartupItemsフォルダの使用を推奨していませんが、一部の古いアプリでは依然としてこれらのフォルダを使用している可能性があります。

通常、/System/Library/StartupItemsフォルダは空ですが、もう使用しないものが含まれている場合は、不要な項目をゴミ箱にドラッグして、次回 Mac を起動したときに自動的に読み込まれないようにすることができます。

デーモンとエージェントを起動する

OS 10.4 Tiger以降、Appleは開発者向けに、アイテムを自動起動するための新たなメカニズムを提供しています。プロセスによって制御されるデーモンやエージェントを起動する仕組みlaunchdです。これにより開発者の柔軟性は向上しますが、ユーザーにとっては透明性が低くなります。

アプリを直接開く代わりに、 launchdどのような状況で何を起動するかを指定する、特別な形式の .plist ドキュメントを読み込みます。これらの起動項目は、バックグラウンドで常時実行される場合もあれば、スケジュールされた間隔で実行される場合もあり、また、特定のファイルやフォルダの変更などのイベントに応じて必要に応じて実行され、その後終了する場合もあります。

が使用する .plist ファイルはlaunchd、次の 3 つのフォルダーのいずれかに格納でき、その場所によって各項目が読み込まれるタイミングと権限が決まります。

  • /Library/LaunchDaemonsおよび/System/Library/LaunchDaemons内の項目は、Mac の起動時に読み込まれ、ルート ユーザーとして実行されます。

  • /Library/LaunchAgentsおよび/System/Library/LaunchAgents内の項目は、任意のユーザーがログインすると読み込まれ、そのユーザーとして実行されます。

  • /Users/[your-username]/Library/LaunchAgents内の項目は、特定のユーザーがログインし、そのユーザーとして実行された場合にのみ読み込まれます。

システム ファイルを変更しないでください。これらのフォルダーのうち、 /Systemフォルダーにある 2 つのフォルダー( /System/Library/LaunchDaemons/System/Library/LaunchAgents ) は、macOS の一部として含まれるコンポーネント用であり、削除または変更する誘惑に抵抗する必要があります。これらのフォルダーは、Mac を正常に動作させるために不可欠である可能性があります。

他の設定は自由に変更してください。他のフォルダにあるファイルも自由に閲覧して、どのような設定になっているかご確認ください。例えば、無効化したり、実行頻度を変更したりすることも可能ですが、その前に、それぞれの動作についていくつか理解しておく必要があります。

macOSの大きな悩みの一つは、これらの.plistファイルの蓄積とメンテナンスでした。macOS 13では、Appleは開発者がこれらのヘルパーファイルをアプリバンドル内に保存できる方法を提供しました。これにより、アプリを削除するとヘルパーファイルも削除されます。これははるかにクリーンで簡単になりましたが、このシステムを使用するにはアプリをmacOS 13専用に開発する必要があるため、標準となるまでにはしばらく時間がかかるでしょう。

Macを起動またはログインすると、関連するフォルダ内の起動項目が読み込まれます(つまり、システムに登録されます)。ただし、無効フラグが設定されている場合は除きます。その後は、起動項目をゴミ箱にドラッグした場合でも、再起動するまでその命令は実行されます。Macに現在読み込まれているすべての起動項目のリストを表示するには、ターミナル(/アプリケーション/ユーティリティ)を開き、次のように入力してlaunchctl listReturnキーを押します。

再起動せずに起動項目の実行を停止したい場合は、ターミナルアプリを開き、launchctl unload スペースと起動項目のフルパスを入力します。例えば、次のコマンドを実行します。

launchctl アンロード ~/Library/LaunchAgents/com.apple.FolderActions.enabled.plist

loadAppleScriptのフォルダアクションを有効にする起動エージェントがアンロードされます。の代わりにを付けてコマンドを実行すると、起動エージェントがunload再びオンになります。

ヒント:アイテムの完全なパスを追加する簡単な方法は、アイテムを Finder からターミナル ウィンドウにドラッグすることです。

ほとんどの起動項目はスケジュールまたはオンデマンドで実行され、また無効化される可能性もあるため、あるフォルダに何かが存在するからといって、それが制御するプロセスが現在実行中であるとは限りません。現在実行中のプロセスを確認するには、アクティビティモニタを開いてください。ただし、アクティビティモニタに表示されるプロセスの名前は、macOSに起動を指示する.plistファイルの名前とは異なる場合がありますのでご注意ください。

謎のプロセスに関する他の説明

これらの方法はmacOSでアプリを自動起動する最も一般的な方法ですが、唯一の方法ではありません。これらのいずれの方法でも追跡できない謎のプロセスがある場合は、次のいずれかが考えられます。

カーネル拡張機能:カーネル拡張機能(.kextファイル)は/System/Library/Extensionsディレクトリに保存され、起動時に読み込まれます。オーディオ処理や周辺機器のサポート追加といった低レベル機能を提供します。Mac上のほとんどのkextはmacOSの一部です。サードパーティ製のkextを削除する最も安全な方法は、開発者が提供するアンインストーラーを実行することです。

cron: Cron macOSに組み込まれているUnixスケジューリングユーティリティです。現在ではcronが主流となり、ほとんど使われなくなりましたlaunchdが、アップデートを繰り返したり古いソフトウェアを使い続けているMacでは、何が残っているか分かりません。

ログイン スクリプト:起動項目などのログイン スクリプトは、以前のバージョンの macOS で使用されていましたが、現在は非推奨になっています。