NythyCleaner
← ブログ

Macでログイン項目とLaunch Agentを管理する方法

11 分で読了
#extensions#macos#startup#launchd#login-items#performance

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 Agentlaunchdのplist~/Library/LaunchAgentsまたは/Library/LaunchAgents
Launch Daemonlaunchdの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 LookSpotlightインポータも列挙します。必ずしも「ログイン起動」ではありませんが、Finderと検索に組み込まれるため、プレビューやインデックスに影響します。切り替え時にqlmanagemdimportでキャッシュ更新を試みます。

安全のための心がけ

  • 見覚えのない項目はラベルやbundle IDで検索してから無効化(特にVPN/セキュリティ系LaunchDaemon)。
  • 不具合が出たら再有効化
  • まずユーザーLaunchAgentから試し、システムデーモンは慎重に。
  • 大量変更前にバックアップやTime Machineスナップショット。

よくある質問

NythyCleanerはシステム設定の代わり?

いいえ。ファイル指向の技術ビュー補完します。

なぜcom.apple.*が出ない?

意図的なフィルタです。

LaunchAgentをオフにするとアプリは消える?

いいえ。**launchd**がそのplistを読み込まないだけです。

Macを壊せる?

未知のサードパーティデーモンはその機能を壊す可能性があります。Appleの中核サービスは一覧に出ません。

無料機能?

製品版の料金ページを確認(Proのみ等)。

まとめ

ログイン項目とLaunch Agentを管理するとは、ログインリストLaunchAgentsLaunchDaemonsの3層を理解することです。macOSはシステム設定1か所にすべてを集めません。

NythyCleanerの拡張はログイン項目とユーザー/システムのLaunchAgents・LaunchDaemonsに加えQuick LookとSpotlightをスキャンし、Appleジョブを隠しlaunchdを意識した有効/無効と古い状態の整理で、ログインを速くバックグラウンドを静かにする実用的な手段になります。