Airpods

Mac OSのコマンドラインから警告ダイアログポップアップをトリガーする方法

Mac OSのコマンドラインから警告ダイアログポップアップをトリガーする方法

Macのコマンドラインから警告ダイアログをトリガーする

Macのターミナルでダイアログアラートをポップアップ表示させたいと思ったことはありませんか? いつも便利なosascriptコマンドを使えば、ターミナルからAppleScriptを実行できます。macOSのコマンドラインを頻繁に使用する方にとって、これは特定のタスクの完了を通知したり、スクリプトの一部として組み込んだりするのに最適な小技です。これは、コマンドラインタスクの完了を音声で知らせるという、私のお気に入りのターミナル小技の一つを視覚的に表現したような機能です。

上級MacユーザーがコマンドラインからMacOS GUIの警告ダイアログボックスを表示する方法を確認してみましょう。ポップアップ警告を表示するアプリケーションを指定することもできますし、Mac OS Xでメインアプリケーションとして使用しているアプリケーションで警告ダイアログボックスを表示するように設定することもできます。


はい、これは既存の macOS または Mac OS X のすべてのバージョンで動作するため、互換性の問題は発生しないはずです。

Mac OSでダイアログアラートポップアップを表示する方法

おそらく最も便利なダイアログアラートは、どこからでも表示され、最前面のアプリケーションに送信されるアラートです。これにより、アラートボックスが見落とされることがなくなります。

Mac の最前面のアプリケーションでダイアログ警告ボックスをトリガーする構文は次のとおりです。

osascript -e 'tell application (path to frontmost application as text) to display dialog "Hello from osxdaily.com" buttons {"OK"} with icon stop'

表示されるポップアップ アラート ボックスは次のようになります。

Mac でコマンドラインから alet ダイアログをトリガーする

例えば、コマンドラインでタスクが完了した際に、最前面のアプリケーションでダイアログボックスを表示させることができます。例えば、Pythonスクリプトを実行していて、完了時にアラートボックスで通知したい場合、このようなユースケースの構文は次のようになります。

python MagicScript.py && osascript -e 'tell application (path to frontmost application as text) to display dialog "The script has completed" buttons {"OK"} with icon caution'

この例では、Pythonが「MagicScript.py」の実行を完了すると、Mac OS X GUIの最前面アプリケーションに「スクリプトが完了しました」というダイアログボックスと黄色の注意アイコンが表示されます。停止、注意、注意など、他のアイコンを選択したり、必要に応じてカスタムアイコンへのパスを指定したりすることもできます。

アプリケーション、システムイベント、またはSystemUIServerを指定できますが、より広範囲の「最前面アプリケーション」を選択すると、どのアプリケーションが最前面にあってもアラートダイアログウィンドウが画面に表示されます。特定のアプリケーションでダイアログアラートをトリガーする方法も説明しましょう。これも望ましい場合があります。

特定のアプリケーションでダイアログアラートをトリガーする

特定のアプリケーションにダイアログまたはアラートを送信するには、次のように該当するアプリ名を指定します。

コマンドラインを使用して Mac OS Finder で警告ダイアログをトリガーする:
osascript -e 'tell app "Finder" to display dialog "Hello from osxdaily.com"'

コマンドライン経由でターミナル アプリで警告ダイアログをトリガーする:
osascript -e 'tell app "Terminal" to display dialog "Hello from osxdaily.com"'

コマンドライン経由で Safari で警告ダイアログをトリガーする:
osascript -e 'tell app "Safari" to display dialog "Hello from osxdaily.com"'

コマンドライン経由でシステム イベントへの警告ダイアログをトリガーします。
osascript -e 'tell app "System Events" to display dialog "Howdy Doo"'

この方法では、アラートを送信するアプリケーションを任意に指定できますが、多くのユーザーにとっては、より広範囲にわたる最前面またはシステム イベントの方が便利な選択肢となるでしょう。

一般的なポップアップダイアログのトリガーが邪魔すぎる場合は、terminal-notifierを使ってMacの通知センターにアラートを送信すると便利です。terminal-notifierは、コマンドラインメッセージをMac OSの一般的な通知センターに表示できるようにするサードパーティ製ソリューションです。さらに邪魔にならない方法としては、ターミナルDockアイコンに通知バッジを表示する方法がありますが、多くのユーザーのニーズには控えめすぎるかもしれません。

とにかく、これはコマンドラインを使ってMac OSのグラフィカルインターフェースに視覚的な警告ダイアログを表示する方法の基本的な概要です。必要に応じて、AppleScriptとosascriptをより複雑に使用して、ダイアログボックスの操作によって次に何が起こるかを制御するなど、より深く掘り下げることもできますが、これはより複雑なトピックに近づいており、別の記事で説明する方が適切です。AppleScriptを使ったスクリプト作成についてさらに詳しく知りたい方は、スクリプトエディタアプリに付属の非常に詳細なドキュメントをご覧ください。

このヒントの興味深い活用方法や、コマンドラインから Mac OS の GUI にダイアログボックスを表示する別の方法をご存知の方は、ぜひコメント欄でお知らせください。