コンピュータのメンテナンス
 Computer >> コンピューター >  >> トラブルシューティング >> コンピュータのメンテナンス

Mac の AE サーバーとは?

AE Server Mac とは

さまざまな Mac で作業している場合、単純なタスクを完了するためだけに、あるコンピューターから別のコンピューターに移動するのは面倒です。たとえば、別の Mac でドキュメントを印刷するということは、まず自分のコンピューターにファイルをコピーしてから、その別の Mac にログインしてそこから印刷することを意味します。これは、Mac を使用してファイルを開くことができないか、ファイルの起動に必要なアプリが古い場合に発生します。

ファイルを別のコンピューターにコピーするのは、特に大量のファイルが含まれる場合は面倒です。幸いなことに、Apple は AppleScripts と Remote Apple Events を使用して、同じネットワーク上の別の Mac をより簡単に制御できるようにしました。これらのテクノロジーのおかげで、Mac ユーザーはリモートでアプリにアクセスして起動し、基本的なタスクを実行できるようになりました。ユーザーは、iTunes を聴いたり、メッセージ アプリを使用してメッセージを送信したり、連絡先にメールを送信したりするためだけに席から立ち上がる必要はありません。

リモート アクセスは、自宅またはオフィスに 2 台以上の Mac がある場合に便利です。共有機能を使用して同じネットワーク上の別の Mac をリモートで制御できますが、AppleScript コマンドと AE サーバーを使用する方がはるかに高速です。さらに、そのために共有画面機能を開く必要はありません。

プロのヒント:Mac をスキャンして、パフォーマンスの問題、ジャンク ファイル、有害なアプリ、セキュリティの脅威がないか調べます
システムの問題やパフォーマンスの低下を引き起こす可能性があります。

アップルイベントとは?

Apple イベントは、Mac OS のメッセージベースのプロセス間通信メカニズムであり、System 7 で初めて登場し、それ以降の旧式の Mac OS のすべてのバージョンと macOS でサポートされています。 Apple イベントは、「ドキュメントを開く」や「ファイルを印刷する」などの「高レベル」のイベントを表しますが、以前の OS は、「クリック」や「キーを押す」などのより基本的なイベントをサポートしていました。 Apple イベントは、Mac OS スクリプト システムである Open Scripting Architecture (AppleScript の主要言語) の基礎を形成します。

開始点は、AEDesc と呼ばれる動的に型指定された拡張可能な記述子形式です。これは、データ型を指定する単なる OSType コードであり、型に依存するデータのブロックです。たとえば、OSType コード inte は、データがビッグエンディアン形式の 4 バイトの符号付き整数であることを示します。

さまざまな一般的な単純型の事前定義された型コードに加えて、データ型 reco (レコード) を持つ AERecord と型リスト (リストまたは配列) を持つ AEList の 2 つの事前定義された構造化記述子型があります。これらの内部構造には、再帰的にネストされた AEDesc が含まれていますが、AERecord は、各要素を一意のレコード フィールド ID (OSType) に関連付けます。 Apple Event Manager は、これらの構造を構築するための API 呼び出しを提供するだけでなく、それらのコンテンツを抽出し、それらが保持するコンテンツのタイプをクエリします。

Apple Event Manager は、AEDesc をあるデータ型から別のデータ型に変換する強制もサポートしています。整数型と実数型の間などの標準的な強制に加えて、アプリケーションは、カスタム データ型との間の変換を処理する独自の強制ハンドラー コールバックをインストールできます。

適切な Apple イベントは、イベントの目的に応じたフィールドを持つ AERecord です。さらに、Apple Event Manager によって事前定義されたセットからの属性 (イベントのパラメーターと呼ばれるレコード フィールドとは異なります) があります。これらは、イベントが行うべきこと (イベント クラスとイベント ID を介して)、イベントの送信先アドレス (ローカルまたはリモート マシン上のプロセスである可能性があります)、および処理のためのその他のさまざまなオプションを指定します。それ。リモート マシンは当初 AppleTalk 経由で接続する必要がありましたが、Mac OS 9 では TCP/IP 経由の接続オプションが追加されました。

Apple イベントをターゲット プロセスに送信した後、送信プロセスは応答 Apple イベントの受信を選択できます。これには、成功/失敗を示すエラー コード、元のイベントによって要求された情報、および/またはその他の適切な情報など、元のイベントの処理に関してターゲットから返されたさまざまな情報を含めることができます。

Apple イベントは、AppleEvent オブジェクト モデルの基盤であり、OSA と AppleScript の基盤でもあります。 2016 年現在、Apple Event Manager API の公式実装は、C および C++ を含むその子孫で利用できます。 Cocoa API を介して、Objective-C と Swift の公式バインディングも提供されています。非公式のバインディングは、Perl、UserTalk、Ruby、Python など、他の言語 (さまざまな程度の制限付き) にも存在します。

AE サーバーとは?

バックグラウンドで実行されている AE サーバーに気付いたが、この機能に慣れていない場合は、おそらく自問自答しているでしょう:私の Mac の AE サーバーは何ですか?

AppleEvents Server とも呼ばれる AE Server は、macOS でリモート Apple Events を処理します。これにより、他の Mac 上のアプリケーションが AE をローカル コンピューターに送信できるようになります。 [システム環境設定]> [共有] をチェックして、[リモート Apple イベント] がオンになっているかどうかを確認します。 macOS アクセシビリティ権限パネルで AEServer にアクセスできます:

システム環境設定> セキュリティとプライバシー> プライバシー> アクセシビリティ> AEServer

これは複雑に思えるかもしれませんが、実際には思ったよりもずっと単純です。 macOS に組み込まれているユーザー レベルのスクリプト システムである AppleScript を使用すると、Mac ユーザーは反復タスクを自動化し、アプリの機能を拡張し、比較的単純な言語を使用してスタンドアロン アプリを作成することさえできます。 AppleScript は、Apple Events と呼ばれる単純なメッセージング システムを使用して、macOS および対象の個々のアプリケーションと通信します。

AE サーバーが行うことは、AppleScript を受信して​​実行し、それを別の Mac コンピュータに送信することです。 AppleScript を送信するだけでは、タスクを実行するのに十分ではありません。リモート Apple イベントを通じて、受信側のコンピューターによって承認される必要があります。

お使いの Mac は、他の Mac コンピュータで実行されているアプリケーションからの AE を受け入れることができます。これらは、このドキュメントを開く、このドキュメントを印刷するなど、macOS で実行されるタスクです。 Remote Apple Events をオンにすると、別の Mac で実行されている AppleScript が、ローカル Mac をリモートで制御したり、ドキュメントの印刷やアプリケーションを開くなどのタスクを実行したりできます。

macOS Catalina で実行されている Mac の場合、リモート システム上のプログラムを対象とする AppleEvent と AppleScript は、そのリモート システム上の同じユーザーによって認証される必要があります。そうでない場合、ユーザーは procNotFound を受け取ります。 エラー。リモート AppleEvent が任意のユーザー セッションでアプリをターゲットにできるようにするには、サーバーのターミナルで次のコマンドを実行します:

defaults write /Library/Preferences/com.apple.AEServer RestrictAccessToUserSession -bool false

次に、[システム環境設定]> [共有] でリモート Apple イベントを無効にしてから再度有効にします。

Apple Event Manager とは?

Open Scripting Architecture (OSA) の一部である Apple Event Manager は、アプリケーションが Apple イベントを送信して応答し、アプリケーションの操作とデータを AppleScript スクリプトで利用できるようにする機能を提供します。関連する API リファレンスについては、Open Scripting Architecture Reference を参照してください。

Apple イベントは、複雑な操作とデータを指定できるプロセス間メッセージの一種です。 Apple イベントは、単一のアプリケーション内、同じコンピュータ上のアプリケーション間、およびネットワークに接続された異なるコンピュータ上のアプリケーション間で使用できるデータ転送およびイベント ディスパッチ メカニズムを提供します。

アプリケーションは通常、Apple イベントを使用して、他のアプリケーションからサービスや情報を要求したり、そのような要求に応じてサービスや情報を提供したりします。ヒューマン インターフェイス ツールボックス (Carbon アプリケーション) または Cocoa アプリケーション フレームワークを介してグラフィカル インターフェイスをユーザーに提示するすべてのアプリケーションは、必要に応じて、Mac OS から送信された特定のイベントに応答できる必要があります。これらには、アプリケーションを開く (または起動する)、再度開く、ドキュメントを開く、ドキュメントを印刷する、および終了するイベントが含まれます。

一部の Apple Event Manager 関数は、スレッド セーフとしてマークされています。他のすべての関数については、メイン スレッドでのみ呼び出す必要があります。

Apple Event Manager を利用するテクノロジーの概要については、AppleScript の概要を参照してください。

Mac OS から送信されたイベントを含む Apple イベントの操作については、Apple Events Programming Guide の「Responding to Apple Events」を参照してください。 Apple イベントで使用される個々の 4 文字のコードについては、AppleScript 用語と Apple イベント コード リファレンスを参照してください。

Apple Event Manager は、コア サービス フレームワークのサブフレームワークである AE フレームワークによって実装されます。 AE フレームワークに直接リンクするのではなく、通常はそれを含む Carbon フレームワークにリンクします。一部の AppleEvent 定義は、HIToolbox フレームワークの AEInteraction.h などを含む、Carbon フレームワークのクライアントのみが利用できます。

AE フレームワークは、ウィンドウ サーバーへの接続を強制しません。これにより、Apple イベントで動作するデーモンとスタートアップ項目が、ログアウト後も動作し続けることができます。

Mac でリモート Apple Events を許可する方法

お使いの Mac は、他のコンピュータで実行されているアプリからの Apple イベントを受け入れることができます。 Apple イベントは、「このドキュメントを開く」や「印刷する」など、Mac で実行されるタスクです。

リモート Apple イベントをオンにすると、別の Mac で実行されている AppleScript プログラムがあなたの Mac と対話できます。たとえば、このプログラムは、Mac にあるドキュメントを開いて印刷することができます。

<オール>
  • Mac では、Apple メニュー> [システム環境設定] を選択し、[共有] をクリックします。
  • [リモート Apple イベント] チェックボックスをオンにします。
  • イベントを送信できるユーザーを指定:
    • すべてのユーザー:あなたのコンピュータのすべてのユーザーとネットワーク上のすべてのユーザーがイベントを送信できます。
    • これらのユーザーのみ:[追加] ボタン をクリックして、イベントを送信できるユーザーを選択します。ユーザーとグループには、コンピューターのすべてのユーザーが含まれます。ネットワーク ユーザーとネットワーク グループには、ネットワーク上のユーザーが含まれます。

    Mac で AE サーバーを有効にする方法

    ネットワーク上の別の Mac に指示するには、AppleScript と Remote Apple Server の両方が機能する必要があります。 AppleScript には、他の Mac に実行させたいタスクの命令が含まれており、AE Server はその命令を承認して実行します。これらの機能を使用して、別の Mac にシャットダウン、曲の再生、Web サイトへのアクセス、またはアラートの表示を指示できます。

    Mac でリモート Apple サーバーまたは AE サーバーを有効にするには、次の手順に従ってください:

    <オール>
  • お使いの Mac またはリモート コントロールする Mac で、アップル メニューをクリックします。 をクリックし、[システム環境設定] を選択します。
  • [共有] をクリックします をクリックし、リモート Apple Events チェックボックスにチェックを入れます。
  • イベントを送信できるユーザーを指定:
    • すべてのユーザー :あなたのコンピュータ上のすべてのユーザーとネットワーク上のすべてのユーザーが、あなたの Mac にイベントを送信できます。
    • これらのユーザーのみ :追加 (+) ボタンをクリックし、イベントを送信できるユーザーを選択します。ユーザーとグループは、コンピューター上のすべてのユーザーを指します。ネットワーク ユーザーとネットワーク グループは、ネットワーク上のユーザーを指します。

    これらの手順を実行すると、指定したユーザーが AppleScript を Mac に送信できるようになります。 AppleScript を認証するには、その Mac の管理者ユーザー名とパスワードを使用してログインする必要があります。

    ただし、AppleScript を実行する前に、まず Mac クリーニング ソフトウェアを使用してコンピューターをクリーンアップし、コンピューターが最高の状態で動作していることを確認してください。

    すべての共有機能と同様に、Remote Apple Events は、本当に必要な場合にのみ有効にする必要があります。 Mac の IP アドレスとユーザー名とパスワードを知っている悪意のある第三者が、Mac から情報を盗んだり、デバイスを乗っ取ったり、セッションを上書きしたりする可能性があります。別の Mac に指示を送信する必要がない場合は、この機能を無効のままにして、不要な攻撃手段をすべて遮断することをお勧めします。

    リモート Apple サーバーを無効にするには、[共有] メニュー ([アップル] メニュー> [システム環境設定]> [共有]> [リモート Apple イベント]) を使用してオフにします。 )または Terminal を使用して次のコマンドを入力します :

    /usr/bin/sudo /bin/launchctl disable system/com.apple.AEServer

    変更を有効にするためにコンピューターを再起動します。 AE サーバーは無効になっているはずです。

    AppleScript の書き方

    Remote Apple Server を有効にすることは、方程式の一部にすぎません。次に、Mac に実行させたい操作の指示を含む AppleScript を作成する必要があります。このためには、AppleScript エディタ を使用する必要があります またはスクリプト エディタ Finder> ユーティリティの下 .エディタが開いたら、[ファイル]> [新規] をクリックしてスクリプトを記述できます。

    以下は、試すことができるスクリプトの一部です:

    • Mac をスリープ状態にする

    マシン「eppc://ターゲット Mac の IP アドレス」のアプリケーション「Finder」に伝える

    睡眠

    最後に

    • iTunes を開く

    マシン「eppc://ターゲット Mac の IP アドレス」の iTunestell アプリケーション「iTunes」

    プレイ

    最後に

    • iTunes を終了

    アプリケーション「iTunes」にマシン「eppc://ターゲット Mac の IP アドレス」を伝える

    停止

    最後に

    • Safari を起動

    マシン「eppc://ターゲット Mac の IP アドレス」のアプリケーション「Safari」に伝える

    有効にする

    最後に

    • Safari を終了

    マシン「eppc://ターゲット Mac の IP アドレス」のアプリケーション「Safari」に伝える

    やめる

    最後に

    これらの AppleScript を作成したら、Mac に保存して、必要なときに実行できます。 AppleScript を実行するには、対象の Mac のユーザー名とパスワードを入力する必要があります。


    1. Macのキーチェーンパスワードとは何ですか?

      Macでキーチェーンパスワードについてのプロンプトが表示されたことはありますか? KeychainAccessまたはiCloudKeychainアプリで遭遇した可能性がありますが、このプロンプトは他の場所でも表示されます。 Macがキーチェーンパスワードを必要とするときに正確に何を求めていますか?このパスワードは変更できますか?忘れたらどうなりますか? これらの質問への回答などがあります。キーチェーン、キーチェーンパスワード、およびこれらすべてがMacにどのように適用されるかについては、以下をお読みください。 キーチェーンとは何ですか? キーチェーンは、アプリ、ウェブサイト、サーバーのパ

    2. MacのOptionキーとは何ですか?

      チュートリアルに従おうとしていて、Optionキーを参照しているため、おそらくここにいます。キーボードを見下ろすと、Optionキーがありません。 MacでOptionキーを探している場合、PCキーボードのどこにOptionキーがあるのか​​、またはOptionキーがどこにあるのか疑問に思っている場合は、答えがあります。 オプションキーがありませんか? キーボードにOptionキーがない理由はいくつかあります: 一部のAppleキーボードには、OptionキーではなくAltキーがあります。 Altキーは、基本的にOptionキーです。同じ目的を果たします。 Optionキーがないもう1つ