Macでログイン項目とLaunch Agentを管理する方法
Macでログイン項目とLaunch Agentを管理する方法
ログイン時に開くアプリや、バックグラウンドエージェントを入れるソフトは、ドキュメントを開く前からMacに負荷をかけます。起動項目が多すぎるとログインが遅い、アイドル時のCPUが高い、バッテリーが減りやすい、使わないメニューバー常駐が増える、といった結果になります。
macOSは仕組みを分けています。ログイン項目(セッションのリスト)、LaunchAgents(ユーザーまたはシステム向けのlaunchdジョブ)、LaunchDaemons(システム全体のlaunchdサービス)、その他の拡張タイプです。システム設定には一部しか出ておらず、技術的な一覧は一か所にありません。
この記事では各要素、標準ツールでの管理、NythyCleanerの「拡張」がログイン項目・LaunchAgents・LaunchDaemons・Quick Lookジェネレータ・Spotlightインポータを1回のスキャンにまとめる方法を説明します。
3つの大枠
ログイン項目(ログイン時に開く)
ユーザセッションのログインリストに登録されたアプリ(またはヘルパー)です。システム設定(古い構成ではDockのオプションなど)で追加するのと同じ種類で、アカウントログイン時に起動します。
LaunchAgents(launchd)
LaunchAgentsはXMLの.plistで、launchdに「ログイン時・スケジュール・イベント時にこのプログラムを起動」と指示します。
代表的な場所:
~/Library/LaunchAgents/— 自分のユーザー。通常はOSコアに触れず変更可能。/Library/LaunchAgents/— 全ユーザー。管理者権限が要ることがあります。
NythyCleanerは両方を走査し、Apple以外のジョブを表示します。
LaunchDaemons(システムサービス)
LaunchDaemonsは/Library/LaunchDaemons/にあります。GUIセッションだけでなくシステム全体(多くはroot)で動くサービスです。誤って無効化するとVPNやドライバが壊れる一方、使わないサードパーティデーモンを動かし続けると無駄にリソースを消費します。
NythyCleanerは第三者のplistに焦点を当て、com.apple.*は意図的に除外します。
macOS標準でできること
システム設定 → ログイン項目と拡張機能
最近のmacOSにはログイン項目や各種拡張機能のセクションがあります。Appleが公式に扱うトグル向きの場所です。
一方、すべての~/Library/LaunchAgents/…をフラットに列挙したり、上級者向けにユーザー/システムを1表にまとめたりは通常しません。
Finderとターミナル(上級者向け)
~/Library/LaunchAgentsを開いたりlaunchctlを使ったりは可能ですが、ドメイン、bootout/bootstrap、plistの構文の理解が必要です。
多くの人には専用マネージャの方が安全です。
NythyCleaner「拡張」の動き
NythyCleanerの拡張は、ログイン時のノイズとシステム連携向けです。「ログインで開く」だけでなく、バックグラウンドの**launchd**や関連プラグインフォルダも扱います。
1スキャンで複数種類
| 種類 | 内容 | 典型的な範囲 |
|---|---|---|
| ログイン項目 | セッションの「ログイン時に開く」 | 現在のユーザー |
| Quick Look | .qlgeneratorバンドル | ユーザーまたはシステムのQuickLookフォルダ |
| Spotlight | .mdimporterバンドル | ユーザーまたはシステムのSpotlightフォルダ |
| Launch Agent | launchdのplist | ~/Library/LaunchAgentsまたは/Library/LaunchAgents |
| Launch Daemon | launchdのplist | /Library/LaunchDaemons |
グループ化・並び順は、ログイン項目→Quick Look→Spotlight→LaunchAgents→LaunchDaemonsです。
Apple管理のエントリは非表示
次のようなジョブはスキップします。
LabelまたはバンドルIDがcom.apple.で始まる- 実行パスが
/System/配下
コアOSサービスを誤って止めるリスクを下げます。
ログイン項目のオン/オフ
ログイン項目はセッションリストへのブリッジで追加・削除します。Appleが古い公開APIを廃止しているため、アプリ内でオフにしたパスも記憶し、オフのまま一覧に残して再オンできるようにしています。
LaunchAgents / LaunchDaemons
無効化は一般的な方法で、アクティブなplistを**.plist.disabledにリネーム(移動)します(再有効化は逆)。必要に応じて無効化前にlaunchctl bootout、有効化後にlaunchctl bootstrap**を実行します。
注意:/Library/LaunchDaemonsなどが書き込み可能でないと切り替えは失敗します。UIが権限を反映します。
古い登録の整理
ディスク上に存在しないログインパス、またはアンインストール後に残った孤立した.plist.disabledなどを整理できます。
Quick LookとSpotlight
同じ画面でQuick LookとSpotlightインポータも列挙します。必ずしも「ログイン起動」ではありませんが、Finderと検索に組み込まれるため、プレビューやインデックスに影響します。切り替え時にqlmanageやmdimportでキャッシュ更新を試みます。
安全のための心がけ
- 見覚えのない項目はラベルやbundle IDで検索してから無効化(特にVPN/セキュリティ系LaunchDaemon)。
- 不具合が出たら再有効化。
- まずユーザーLaunchAgentから試し、システムデーモンは慎重に。
- 大量変更前にバックアップやTime Machineスナップショット。
よくある質問
NythyCleanerはシステム設定の代わり?
いいえ。ファイル指向の技術ビューで補完します。
なぜcom.apple.*が出ない?
意図的なフィルタです。
LaunchAgentをオフにするとアプリは消える?
いいえ。**launchd**がそのplistを読み込まないだけです。
Macを壊せる?
未知のサードパーティデーモンはその機能を壊す可能性があります。Appleの中核サービスは一覧に出ません。
無料機能?
製品版の料金ページを確認(Proのみ等)。
まとめ
ログイン項目とLaunch Agentを管理するとは、ログインリスト・LaunchAgents・LaunchDaemonsの3層を理解することです。macOSはシステム設定1か所にすべてを集めません。
NythyCleanerの拡張はログイン項目とユーザー/システムのLaunchAgents・LaunchDaemonsに加えQuick LookとSpotlightをスキャンし、Appleジョブを隠し、launchdを意識した有効/無効と古い状態の整理で、ログインを速く、バックグラウンドを静かにする実用的な手段になります。