MACOS
launchd-uiでmacOSの定期実行を見える化する
launchd-uiは、macOS標準のlaunchdを置き換えるツールではない。User LaunchAgentsのplist編集、即時テスト、ログ確認を一画面に寄せ、定期実行の保守を現実的にするGUIだ。
Takeaway
まずは既存のUser Agentsを棚卸しする用途から始める。権限の強いDaemon管理やwake設定は、便利さより運用リスクを先に見る。
launchdを隠すのではなく、運用面を見える化する
launchd-uiは、macOSでcronの代わりに使われるlaunchdのジョブをGUIで管理するアプリだ。plistを直接編集するより、何が登録され、いつ動き、どこにログが出るかを追いやすくする。
macOSの定期実行は、plistの場所、キー、権限、launchctlの操作、ログ出力先が分散しやすい。小さな自動化が増えるほど、ターミナルだけでは全体像を見落としやすくなる。
このアプリはlaunchdそのものの代替ではない。plistとlaunchctlを扱う作業を、一覧、編集、テスト、ログ確認へ整理する管理画面として見るのが正確だ。
User Agentsの編集と確認に強い
READMEでは、User Agents、System Agents、System Daemonsの一覧表示、ラベル検索、種別フィルタ、User Agentsの起動・停止・再起動・即時テスト実行、新規作成、編集、削除、スケジュール設定、次回実行時刻プレビュー、stdout/stderrログ確認が挙げられている。
運用確認
登録済みplistを一覧で見て、意図通りに読み込まれているか、次回実行が想定通りかを確認する。
失敗調査
即時テストとstdout/stderr確認で、登録ミス、実行失敗、ログ出力先の見落としを切り分ける。
System AgentsとSystem Daemonsは読み取り専用で、変更操作はUser Agentsに限られる。この制約は弱点というより、日常の個人自動化を安全側に寄せる境界として扱える。
小さな自動化の棚卸しから使う
まず既存ジョブを見る
~/Library/LaunchAgents/に増えたplistを一覧で見て、使っていないジョブ、ログが出ていないジョブ、次回実行時刻が意図と違うジョブを確認する。バッテリー観測、日次ログ収集、Obsidianまわりの小さな自動処理では、この棚卸しだけでも価値がある。
新規作成ではplistを必ず読む
GUIで作成しても、最終的にはProgramArguments、WorkingDirectory、StandardOutPath、StandardErrorPath、StartIntervalまたはStartCalendarIntervalが意図通りかを確認する。launchdの構造理解は引き続き必要だ。
深い調査ではCLIを併用する
launchdのトラブルは、登録されていない、実行されていない、実行されたがすぐ失敗した、ログが別の場所に出ている、という状態が混ざりやすい。GUIで当たりをつけたあと、必要ならlaunchctl print、launchctl kickstart、log show、実行スクリプト単体の手動実行を併用する。
署名なしアプリとwake設定は慎重に扱う
READMEでは、このアプリはコード署名されていないと明記されている。インストール時はGitHub Releasesから取得し、必要に応じてquarantine属性を外す。これはmacOSの保護を一部回避する操作なので、配布元、リリースページ、チェックサム、更新履歴を確認してから実行する。
2026-06-28時点のlatest releaseはv1.2.0で、公開日は2026-03-17。リリースノートでは、スケジュール時刻にシステムをスリープから起こすWake System対応が追加されている。
wake設定は、定期実行を確実にしたいときには便利だが、バッテリー消費や意図しない復帰の原因にもなる。必要なジョブだけで使い、設定後は実行ログと電源イベントを確認する。
Sources
| Source | Use |
|---|---|
| Web Scratch: launchd-ui紹介記事 | ツールの背景、作者による用途説明、macOS cron代替としての位置づけ。 |
| GitHub: azu/launchd-ui | 機能一覧、インストール手順、User/System操作境界、署名なし配布の確認。 |
| launchd-ui v1.2.0 release | 2026-06-28時点のlatest releaseとWake System追加の確認。 |
| Apple Developer Archive: Scheduling Timed Jobs | macOSのtimed jobにlaunchd jobsが使われる背景の確認。 |
| launchd.plist(5) man page mirror | plistキーの意味を確認する参照先。 |