Computer >> 컴퓨터 >  >> 문제 해결 >> 컴퓨터 유지 보수

내 Mac의 AE 서버란 무엇입니까?

AE 서버 Mac이란 무엇입니까

다른 Mac으로 작업할 때 간단한 작업을 완료하기 위해 한 컴퓨터에서 다른 컴퓨터로 이동하는 것은 번거로운 일입니다. 예를 들어, 다른 Mac에서 문서를 인쇄한다는 것은 먼저 컴퓨터에서 파일을 복사한 다음 다른 Mac에 로그인하여 인쇄하는 것을 의미합니다. 이것은 Mac을 사용하여 파일을 열 수 없거나 파일을 실행하는 데 필요한 앱이 오래된 경우에 발생합니다.

파일을 다른 컴퓨터에 복사하는 것은 특히 많은 파일을 포함하는 경우 너무 번거롭습니다. 다행히 Apple에서는 AppleScript 및 Remote Apple Events를 사용하여 동일한 네트워크에서 다른 Mac을 더 쉽게 제어할 수 있습니다. 이러한 기술 덕분에 Mac 사용자는 이제 원격으로 앱에 액세스하고 앱을 실행하고 기본 작업을 수행할 수 있습니다. 사용자는 iTunes를 듣거나 메시지 앱을 사용하여 메시지를 보내거나 연락처에 이메일을 보내기 위해 자리에서 일어날 필요가 없습니다.

원격 액세스는 집이나 사무실에 두 대 이상의 Mac이 있는 경우에 유용합니다. 공유 기능을 사용하여 동일한 네트워크에 있는 다른 Mac을 원격으로 제어할 수 있지만 AppleScript 명령과 AE 서버를 사용하는 것이 훨씬 빠릅니다. 또한 공유 화면 기능을 열 필요가 없습니다.

전문가 팁:Mac에서 성능 문제, 정크 파일, 유해한 앱 및 보안 위협을 검사하십시오.
시스템 문제를 일으키거나 성능을 저하시킬 수 있습니다.

Apple 이벤트란 무엇입니까?

Apple 이벤트는 Mac OS의 메시지 기반 프로세스 간 통신 메커니즘으로 System 7에 처음 등장했으며 그 이후로 모든 클래식 Mac OS 버전과 macOS에서 지원됩니다. Apple 이벤트는 "문서 열기" 또는 "파일 인쇄"와 같은 "고수준" 이벤트를 설명하는 반면, 이전 OS는 "클릭" 및 "키 누르기"와 같은 훨씬 더 기본적인 이벤트를 지원했습니다. Apple 이벤트는 Mac OS 스크립팅 시스템인 Open Scripting Architecture(AppleScript의 기본 언어)의 기초를 형성합니다.

시작점은 유형 종속 데이터 블록과 함께 데이터 유형을 지정하는 OSType 코드인 AEDesc라고 하는 동적으로 유형이 지정된 확장 가능한 설명자 형식입니다. 예를 들어 OSType 코드 inte는 데이터가 빅엔디안 형식의 4바이트 부호 있는 정수임을 나타냅니다.

다양한 일반 단순 유형에 대한 사전 정의된 유형 코드 외에도 두 가지 사전 정의된 구조적 설명자 유형이 있습니다. 이들의 내부 구조는 재귀적으로 중첩된 AEDesc를 포함하는 반면 AERecord는 각 요소를 OSType인 고유한 레코드 필드 ID와 연결합니다. 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 서버라고도 하는 AE 서버는 macOS에서 원격 Apple 이벤트를 처리합니다. 이렇게 하면 다른 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의 경우 원격 시스템의 프로그램을 대상으로 하는 AppleEvents 및 AppleScripts는 해당 원격 시스템의 동일한 사용자가 인증해야 합니다. 그렇지 않으면 사용자는 procNotFound 를 받게 됩니다. 오류. 원격 AppleEvents가 모든 사용자 세션에서 앱을 대상으로 하도록 허용하려면 서버의 터미널에서 다음 명령을 실행하십시오.

기본값 쓰기 /Library/Preferences/com.apple.AEServer RestrictAccessToUserSession -bool false

그런 다음 시스템 환경설정> 공유에서 원격 Apple 이벤트를 비활성화했다가 다시 활성화합니다.

Apple 이벤트 관리자란 무엇입니까?

OSA(Open Scripting Architecture)의 일부인 Apple Event Manager는 응용 프로그램이 Apple 이벤트를 보내고 응답하고 AppleScript 스크립트에서 해당 작업과 데이터를 사용할 수 있도록 하는 기능을 제공합니다. 관련 API 참조는 Open Scripting Architecture Reference를 참조하십시오.

Apple 이벤트는 복잡한 작업과 데이터를 지정할 수 있는 일종의 프로세스 간 메시지입니다. Apple 이벤트는 단일 응용 프로그램 내에서, 동일한 컴퓨터의 응용 프로그램 간에, 네트워크에 연결된 다른 컴퓨터의 응용 프로그램 간에 사용할 수 있는 데이터 전송 및 이벤트 전달 메커니즘을 제공합니다.

응용 프로그램은 일반적으로 Apple 이벤트를 사용하여 다른 응용 프로그램의 서비스 및 정보를 요청하거나 이러한 요청에 대한 응답으로 서비스 및 정보를 제공합니다. Human Interface Toolbox(Carbon 응용 프로그램) 또는 Cocoa 응용 프로그램 프레임워크를 통해 사용자에게 그래픽 인터페이스를 제공하는 모든 응용 프로그램은 해당하는 경우 Mac OS에서 보낸 특정 이벤트에 응답할 수 있어야 합니다. 여기에는 애플리케이션 열기(또는 실행), 다시 열기, 문서 열기, 문서 인쇄 및 종료 이벤트가 포함됩니다.

일부 Apple Event Manager 함수는 스레드로부터 안전한 것으로 표시됩니다. 다른 모든 함수의 경우 기본 스레드에서만 호출해야 합니다.

Apple Event Manager를 활용하는 기술에 대한 개요는 AppleScript 개요를 참조하십시오.

Mac OS에서 보낸 이벤트를 포함하여 Apple 이벤트 작업에 대한 정보는 Apple 이벤트 프로그래밍 가이드에서 Apple 이벤트에 응답을 참조하십시오. Apple 이벤트에 사용되는 개별 4자 코드에 대한 정보는 AppleScript 용어 및 Apple 이벤트 코드 참조를 참조하십시오.

Apple Event Manager는 Core Services 프레임워크의 하위 프레임워크인 AE 프레임워크에 의해 구현됩니다. AE 프레임워크와 직접 연결하지 않고 일반적으로 이를 포함하는 Carbon 프레임워크와 연결합니다. 일부 AppleEvent 정의는 Carbon 프레임워크의 클라이언트만 사용할 수 있습니다. 여기에는 예를 들어 HIToolbox 프레임워크의 AEInteraction.h가 포함됩니다.

AE 프레임워크는 윈도우 서버에 강제로 연결하지 않습니다. 이를 통해 Apple 이벤트와 함께 작동하는 데몬 및 시작 항목이 로그아웃 시에도 계속 작동할 수 있습니다.

Mac에서 원격 Apple 이벤트를 허용하는 방법

Mac은 다른 컴퓨터에서 실행 중인 앱의 Apple 이벤트를 수락할 수 있습니다. Apple 이벤트는 "이 문서 열기" 또는 "인쇄"와 같이 Mac에서 수행되는 작업입니다.

원격 Apple 이벤트가 켜져 있으면 다른 Mac에서 실행 중인 AppleScript 프로그램이 사용자의 Mac과 상호 작용할 수 있습니다. 예를 들어, 프로그램은 Mac에 있는 문서를 열고 인쇄할 수 있습니다.

  1. Mac에서 Apple 메뉴> 시스템 환경설정을 선택한 다음 공유를 클릭합니다.
  2. 원격 Apple 이벤트 확인란을 선택합니다.
  3. 이벤트를 보낼 수 있는 사람 지정:
  • 모든 사용자:컴퓨터의 모든 사용자와 네트워크의 모든 사용자가 이벤트를 보낼 수 있습니다.
  • 다음 사용자만:추가 버튼 을 클릭한 다음 이벤트를 보낼 수 있는 사람을 선택합니다. 사용자 및 그룹에는 컴퓨터의 모든 사용자가 포함됩니다. 네트워크 사용자 및 네트워크 그룹에는 네트워크에 있는 사람들이 포함됩니다.

Mac에서 AE 서버를 활성화하는 방법

네트워크에 있는 다른 Mac에 지시하려면 AppleScript와 원격 Apple 서버가 모두 필요합니다. AppleScripts에는 AE 서버가 지침을 승인하고 실행하는 동안 다른 Mac에서 수행할 작업에 대한 지침이 포함되어 있습니다. 이 기능을 사용하여 다른 Mac에 종료, 노래 재생, 웹사이트 방문 또는 경고 표시를 지시할 수 있습니다.

Mac에서 원격 Apple 서버 또는 AE 서버를 활성화하려면 다음 지침을 따르십시오.

  1. Mac 또는 Mac에서 원격 제어하려면 Apple 메뉴를 클릭합니다. 을 클릭한 다음 시스템 환경설정을 선택합니다.
  2. 공유를 클릭합니다. 을 클릭한 다음 원격 Apple 이벤트 확인란을 선택합니다.
  3. 이벤트를 보낼 수 있는 사용자 지정:
  • 모든 사용자 :컴퓨터의 모든 사용자와 네트워크의 모든 사용자가 Mac으로 이벤트를 보낼 수 있습니다.
  • 이 사용자만 :추가(+) 버튼을 클릭한 후 이벤트를 보낼 수 있는 사용자를 선택합니다. 사용자 및 그룹은 컴퓨터의 모든 사용자를 나타냅니다. 네트워크 사용자 및 네트워크 그룹은 네트워크에 있는 사람들을 나타냅니다.

이 단계를 따르면 지정한 사용자가 이제 AppleScript를 Mac으로 보낼 수 있습니다. AppleScript를 인증하려면 여전히 해당 Mac의 관리자 사용자 이름과 암호를 사용하여 로그인해야 합니다.

그러나 AppleScript를 실행하기 전에 먼저 Mac 청소 소프트웨어를 사용하여 컴퓨터를 정리하여 컴퓨터가 최상의 성능을 발휘하는지 확인하십시오.

모든 공유 기능과 마찬가지로 원격 Apple 이벤트가 필요한 경우에만 활성화해야 합니다. Mac의 IP 주소와 사용자 이름 및 암호를 알고 있는 악의적인 제3자가 Mac에서 정보를 훔치거나 기기를 가로채거나 세션을 무시할 수 있습니다. 다른 Mac에 지침을 보낼 필요가 없다면 이 기능을 비활성화하여 불필요한 공격 경로를 모두 차단하는 것이 가장 좋습니다.

원격 Apple 서버를 비활성화하려면 공유 메뉴(Apple 메뉴> 시스템 환경설정> 공유> 원격 Apple 이벤트)를 사용하여 끌 수 있습니다. ) 또는 터미널을 사용하여 다음 명령을 입력합니다. :

/usr/bin/sudo /bin/launchctl 시스템/com.apple.AEServer 비활성화

변경 사항을 적용하려면 컴퓨터를 다시 시작하십시오. 이제 AE 서버가 비활성화됩니다.

AppleScript 작성 방법

원격 Apple 서버를 활성화하는 것은 방정식의 일부일 뿐입니다. 다음으로, Mac에서 수행할 작업에 대한 지침으로 AppleScript를 작성해야 합니다. 이를 위해서는 AppleScript 편집기를 사용해야 합니다. 또는 스크립트 편집기 Finder> 유틸리티 아래 . 편집기가 열리면 파일> 새로 만들기를 클릭하여 스크립트를 작성할 수 있습니다.

다음은 시도할 수 있는 몇 가지 스크립트입니다.

  • Mac을 잠자기 모드로 전환

컴퓨터의 "Finder" 응용 프로그램에 "eppc://대상 Mac의 IP 주소"를 알려줍니다.

수면

말하기

  • iTunes 열기

"eppc://대상 Mac의 IP 주소" 시스템의 "iTunes" 응용 프로그램 "iTunes"

재생

말하기

  • iTunes 종료

시스템의 "iTunes" 응용 프로그램에 "eppc://대상 Mac의 IP 주소"를 알려줍니다.

중지

말하기

  • Safari 실행

시스템의 "Safari" 응용 프로그램에 "eppc://대상 Mac의 IP 주소"를 알려줍니다.

활성화

말하기

  • Safari 종료

시스템의 "Safari" 응용 프로그램에 "eppc://대상 Mac의 IP 주소"를 알려줍니다.

종료

말하기

이러한 AppleScript를 생성하면 Mac에 저장하고 필요할 때 실행할 수 있습니다. AppleScript를 실행하려면 대상 Mac의 사용자 이름과 암호를 입력해야 합니다.