Macの起動時にアプリケーションを実行できることは知っていますが、代わりにAutomatorアクション、サービス、シェルスクリプト、またはAppleScriptを起動時に実行できますか?
これらすべてをアプリケーションとして保存できることも知っていますが、ドックで開かないようにします。
まず第一に、loginはstartupとは異なります。この回答は、ログインを意味することを前提としています。これは、システム環境設定で構成されたプログラムを起動する機能を参照しているようです"ユーザーとグループ。
コマンドラインユーティリティautomator
を使用してAutomatorスクリプトを実行し、osascript
を使用してAppleScriptsを実行します。彼らのman
ページは、使用法を詳細に説明しています。
ログインフック を設定できますが、かなり古く、launchd
を優先して非推奨になっています。
XML構成ファイルを~/Library/LaunchAgents
ディレクトリーに配置することにより、 launchd
ジョブを作成できます。このサイトにはかなり最小限の例が含まれており、システムが提供するlaunchd
ジョブの例については/System/Library/LaunchAgents
を表示できます。 RunAtLoad
にはlaunchd
ディレクティブが必要です。
AppleScriptとAutomatorスクリプトをアプリケーションとして保存し、そのまま実行することもできます。それらをDockから非表示にするには、それらのContents/Info.plist
ファイルを編集し、説明されているように LSUIElement
ディレクティブを追加します。 ここ 。これにより、ドックアイコンとメニューが非表示になります。
このようなプロパティリストを~/Library/LaunchAgents/some.label.plist
として保存できます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.Apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>some.label</string>
<key>ProgramArguments</key>
<array>
<string>automator</string>
<string>/path/to/example.workflow</string>
<!-- <string>osascript</string>
<string>/path/to/example.scpt</string> -->
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
最初にlaunchctl load ~/Library/LaunchAgents/some.label.plist
を実行するか、ログアウトしてから再度ログインしてロードする必要があります。