AE Server Mac คืออะไร
เมื่อคุณทำงานกับ Mac หลายเครื่อง การย้ายจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งเพื่อทำงานง่ายๆ ให้เสร็จเป็นเรื่องยุ่งยาก ตัวอย่างเช่น การพิมพ์เอกสารบน Mac เครื่องอื่นหมายถึงการคัดลอกไฟล์บนคอมพิวเตอร์ของคุณก่อน จากนั้นจึงลงชื่อเข้าใช้ Mac เครื่องอื่นเพื่อพิมพ์จากที่นั่น กรณีนี้เกิดขึ้นเมื่อไม่สามารถเปิดไฟล์โดยใช้ Mac หรือแอปที่จำเป็นในการเปิดไฟล์ล้าสมัย
การคัดลอกไฟล์ไปยังคอมพิวเตอร์เครื่องอื่นนั้นลำบากเกินไป โดยเฉพาะอย่างยิ่งหากเกี่ยวข้องกับไฟล์จำนวนมาก โชคดีที่ Apple ช่วยให้ควบคุม Mac เครื่องอื่นบนเครือข่ายเดียวกันได้ง่ายขึ้นโดยใช้ AppleScripts และ Remote Apple Events ด้วยเทคโนโลยีเหล่านี้ ผู้ใช้ Mac สามารถเข้าถึง เปิดแอพ และทำงานพื้นฐานจากระยะไกลได้แล้ว ผู้ใช้ไม่ต้องลุกจากที่นั่งเพียงเพื่อฟัง iTunes ส่งข้อความโดยใช้แอป Messages หรือส่งอีเมลถึงผู้ติดต่อ
การเข้าถึงระยะไกลมีประโยชน์ถ้าคุณมี Mac สองเครื่องขึ้นไปที่บ้านหรือที่ทำงาน แม้ว่าคุณจะสามารถควบคุม Mac เครื่องอื่นบนเครือข่ายเดียวกันจากระยะไกลได้โดยใช้คุณสมบัติแชร์ แต่การใช้คำสั่ง AppleScript และ AE Server นั้นเร็วกว่ามาก นอกจากนี้ คุณไม่จำเป็นต้องเปิดฟีเจอร์หน้าจอที่แชร์เพื่อดำเนินการดังกล่าว
เคล็ดลับแบบมือโปร:สแกน Mac ของคุณเพื่อหาปัญหาด้านประสิทธิภาพ ไฟล์ขยะ แอพที่เป็นอันตราย และภัยคุกคามด้านความปลอดภัย
ที่อาจทำให้ระบบมีปัญหาหรือทำงานช้าได้
Apple Event คืออะไร?
กิจกรรมของ Apple เป็นกลไกการสื่อสารระหว่างกระบวนการตามข้อความใน Mac OS โดยเริ่มปรากฏในระบบ 7 และได้รับการสนับสนุนโดย Mac OS แบบคลาสสิกทุกเวอร์ชันตั้งแต่นั้นมาและโดย macOS กิจกรรมของ Apple อธิบายถึงเหตุการณ์ "ระดับสูง" เช่น "เปิดเอกสาร" หรือ "ไฟล์พิมพ์" ในขณะที่ระบบปฏิบัติการรุ่นก่อน ๆ รองรับเหตุการณ์พื้นฐานมากกว่านั้นมาก เช่น "คลิก" และ "กดปุ่ม" กิจกรรมของ Apple เป็นพื้นฐานของระบบการเขียนสคริปต์ Mac OS ซึ่งก็คือ Open Scripting Architecture (ภาษาหลักของ AppleScript)
จุดเริ่มต้นคือรูปแบบตัวอธิบายที่ขยายได้ซึ่งพิมพ์แบบไดนามิกที่เรียกว่า AEDesc ซึ่งเป็นเพียงรหัส OSType ที่ระบุประเภทข้อมูลพร้อมกับบล็อกของข้อมูลที่ขึ้นกับประเภท ตัวอย่างเช่น inte โค้ด OSType ระบุว่าข้อมูลเป็นจำนวนเต็มที่ลงนาม 4 ไบต์ในรูปแบบ big-endian
นอกจากรหัสประเภทที่กำหนดไว้ล่วงหน้าสำหรับประเภททั่วไปทั่วไปแล้ว ยังมีประเภทตัวอธิบายที่มีโครงสร้างที่กำหนดไว้ล่วงหน้าสองประเภท:AERecord ซึ่งมีการบันทึกประเภทข้อมูล (บันทึก) และ AEList พร้อมรายการประเภท (รายการหรืออาร์เรย์) โครงสร้างภายในของสิ่งเหล่านี้ประกอบด้วย 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 Object Model ซึ่งจะเป็นรากฐานของ OSA และ AppleScript ณ ปี 2016 การใช้งาน Apple Event Manager API อย่างเป็นทางการมีให้ใช้งานในภาษา C และรุ่นต่อๆ ไป ซึ่งรวมถึง C++ มีการผูกมัดอย่างเป็นทางการสำหรับ Objective-C และ Swift ผ่าน Cocoa API นอกจากนี้ยังมีการเชื่อมโยงอย่างไม่เป็นทางการสำหรับภาษาอื่นๆ (โดยมีระดับข้อจำกัดที่แตกต่างกัน) รวมถึง Perl, UserTalk, Ruby และ Python
เซิร์ฟเวอร์ AE คืออะไร
หากคุณสังเกตเห็นเซิร์ฟเวอร์ AE ทำงานในพื้นหลัง และคุณยังไม่คุ้นเคยกับคุณลักษณะนี้ คุณอาจกำลังถามตัวเองว่า:เซิร์ฟเวอร์ AE บน Mac ของฉันคืออะไร
เซิร์ฟเวอร์ AE หรือที่เรียกว่าเซิร์ฟเวอร์ AppleEvents จัดการเหตุการณ์ Apple ระยะไกลบน macOS ซึ่งช่วยให้แอปพลิเคชันบน Mac เครื่องอื่นๆ ส่ง AE ไปยังเครื่องคอมพิวเตอร์ได้ ตรวจสอบการตั้งค่าระบบ> การแชร์ เพื่อดูว่า Apple Event ระยะไกลเปิดอยู่หรือไม่ คุณสามารถเข้าถึง AEServer ได้ในแผงสิทธิ์การเข้าถึง macOS:
ค่ากำหนดของระบบ> ความปลอดภัยและความเป็นส่วนตัว> ความเป็นส่วนตัว> การช่วยการเข้าถึง> AEServer
สิ่งนี้อาจดูซับซ้อน แต่จริงๆ แล้วง่ายกว่ามาก AppleScript ซึ่งเป็นระบบสคริปต์ระดับผู้ใช้ในตัวบน macOS ช่วยให้ผู้ใช้ Mac สามารถทำงานซ้ำ ๆ ได้โดยอัตโนมัติ ขยายความสามารถของแอพ และสร้างแอพแบบสแตนด์อโลนโดยใช้ภาษาที่ค่อนข้างง่าย AppleScript สื่อสารกับ macOS และกำหนดเป้าหมายแต่ละแอปพลิเคชันโดยใช้ระบบส่งข้อความธรรมดาที่เรียกว่า Apple Events
สิ่งที่เซิร์ฟเวอร์ AE ทำคือรับและดำเนินการ AppleScript และส่งไปยังคอมพิวเตอร์ Mac เครื่องอื่น การส่ง AppleScript ไม่เพียงพอสำหรับการทำงาน แต่ควรได้รับการอนุมัติจากคอมพิวเตอร์ที่รับผ่าน Remote Apple Events
Mac ของคุณสามารถยอมรับ AE จากแอปพลิเคชันที่ทำงานบนคอมพิวเตอร์ Mac เครื่องอื่น งานเหล่านี้เป็นงานที่ทำบน macOS เช่น เปิดเอกสารนี้หรือพิมพ์เอกสารนี้ เมื่อเปิด Apple Events ระยะไกล AppleScript ที่ทำงานบน Mac เครื่องอื่นจะสามารถควบคุม Mac ในพื้นที่ของคุณจากระยะไกลหรือทำงานต่างๆ เช่น การพิมพ์เอกสารหรือการเปิดแอปพลิเคชัน
สำหรับ Mac ที่ทำงานบน macOS Catalina AppleEvents และ AppleScripts ที่กำหนดเป้าหมายโปรแกรมบนระบบระยะไกลควรตรวจสอบสิทธิ์โดยผู้ใช้รายเดียวกันบนระบบระยะไกลนั้น มิฉะนั้น ผู้ใช้จะได้รับ procNotFound ข้อผิดพลาด. หากต้องการอนุญาตให้ AppleEvents ระยะไกลกำหนดเป้าหมายแอปในเซสชันผู้ใช้ใดๆ ให้เรียกใช้คำสั่งต่อไปนี้ใน Terminal บนเซิร์ฟเวอร์:
ค่าเริ่มต้นเขียน /Library/Preferences/com.apple.AEServer RestrictAccessToUserSession -bool false
จากนั้นปิดใช้งานและเปิดใช้งาน Remote Apple Events อีกครั้งในการตั้งค่าระบบ> การแชร์
ตัวจัดการกิจกรรมของ Apple คืออะไร
Apple Event Manager ซึ่งเป็นส่วนหนึ่งของสถาปัตยกรรม Open Scripting (OSA) อำนวยความสะดวกสำหรับแอปพลิเคชันในการส่งและตอบสนองต่อเหตุการณ์ของ Apple และเพื่อให้การดำเนินการและข้อมูลพร้อมใช้งานสำหรับสคริปต์ AppleScript สำหรับการอ้างอิง API ที่เกี่ยวข้อง โปรดดูการอ้างอิงสถาปัตยกรรมสคริปต์แบบเปิด
เหตุการณ์ของ Apple เป็นข้อความระหว่างกระบวนการประเภทหนึ่งที่สามารถระบุการดำเนินการและข้อมูลที่ซับซ้อนได้ กิจกรรมของ Apple มีกลไกการส่งข้อมูลและการส่งเหตุการณ์ที่สามารถใช้ได้ภายในแอปพลิเคชันเดียว ระหว่างแอปพลิเคชันบนคอมพิวเตอร์เครื่องเดียวกัน และระหว่างแอปพลิเคชันบนคอมพิวเตอร์เครื่องต่างๆ ที่เชื่อมต่อกับเครือข่าย
โดยทั่วไปแล้ว แอปพลิเคชันจะใช้กิจกรรมของ Apple เพื่อขอบริการและข้อมูลจากแอปพลิเคชันอื่น หรือเพื่อให้บริการและข้อมูลเพื่อตอบสนองต่อคำขอดังกล่าว แอปพลิเคชันทั้งหมดที่นำเสนออินเทอร์เฟซแบบกราฟิกแก่ผู้ใช้ผ่าน Human Interface Toolbox (แอปพลิเคชัน Carbon) หรือกรอบงานแอปพลิเคชัน Cocoa ควรจะสามารถตอบสนองต่อเหตุการณ์บางอย่างที่ส่งโดย Mac OS ได้ หากเหมาะสม ซึ่งรวมถึงแอปพลิเคชันที่เปิดอยู่ (หรือเปิดใช้) เปิดใหม่ เปิดเอกสาร พิมพ์เอกสาร และออกจากกิจกรรม
ฟังก์ชัน Apple Event Manager บางฟังก์ชันถูกทำเครื่องหมายว่าปลอดภัยสำหรับเธรด สำหรับฟังก์ชันอื่นๆ ทั้งหมด คุณควรเรียกใช้ฟังก์ชันเหล่านี้บนเธรดหลักเท่านั้น
สำหรับภาพรวมของเทคโนโลยีที่ใช้ประโยชน์จาก Apple Event Manager โปรดดูภาพรวมของ AppleScript
สำหรับข้อมูลเกี่ยวกับการทำงานกับกิจกรรมของ Apple รวมถึงกิจกรรมที่ส่งโดย Mac OS ให้ดูที่การตอบสนองต่อเหตุการณ์ของ Apple ในคู่มือการเขียนโปรแกรมกิจกรรมของ Apple สำหรับข้อมูลเกี่ยวกับรหัสสี่อักขระแต่ละรายการที่ใช้ในกิจกรรมของ Apple โปรดดูคำศัพท์ AppleScript และการอ้างอิงรหัสกิจกรรมของ Apple
Apple Event Manager ใช้งานโดยเฟรมเวิร์ก AE ซึ่งเป็นเฟรมเวิร์กย่อยของเฟรมเวิร์กบริการหลัก คุณไม่ได้เชื่อมโยงโดยตรงกับเฟรมเวิร์ก AE แต่โดยทั่วไปคุณจะเชื่อมโยงกับเฟรมเวิร์ก Carbon ซึ่งรวมถึงเฟรมเวิร์ก AE ด้วย คำจำกัดความของ AppleEvent บางอย่างมีให้เฉพาะไคลเอ็นต์ของเฟรมเวิร์ก Carbon ซึ่งรวมถึง ตัวอย่างเช่น AEInteraction.h ในเฟรมเวิร์ก HIToolbox
กรอบงาน AE ไม่ได้บังคับให้เชื่อมต่อกับเซิร์ฟเวอร์หน้าต่าง สิ่งนี้ทำให้ภูตและรายการเริ่มต้นที่ทำงานกับกิจกรรมของ Apple ทำงานต่อไปได้ตลอดการออกจากระบบ
วิธีอนุญาตกิจกรรม Apple ระยะไกลบน Mac
Mac ของคุณสามารถยอมรับกิจกรรมของ Apple จากแอพที่ทำงานบนคอมพิวเตอร์เครื่องอื่นได้ กิจกรรมของ Apple คืองานที่ทำบน Mac เช่น "เปิดเอกสารนี้" หรือ "พิมพ์"
เมื่อเปิดกิจกรรม Apple ระยะไกล โปรแกรม AppleScript ที่ทำงานบน Mac เครื่องอื่นสามารถโต้ตอบกับ Mac ของคุณได้ ตัวอย่างเช่น โปรแกรมสามารถเปิดและพิมพ์เอกสารที่อยู่ใน Mac ของคุณ
- บน Mac ของคุณ ให้เลือกเมนู Apple> การตั้งค่าระบบ จากนั้นคลิกการแชร์
- เลือกช่องทำเครื่องหมาย Remote Apple Events
- ระบุผู้ที่สามารถส่งกิจกรรมได้:
- ผู้ใช้ทั้งหมด:ผู้ใช้คอมพิวเตอร์ทุกคนและทุกคนในเครือข่ายของคุณสามารถส่งกิจกรรมได้
- เฉพาะผู้ใช้เหล่านี้:คลิกปุ่มเพิ่ม จากนั้นเลือกว่าใครสามารถส่งกิจกรรมได้ ผู้ใช้และกลุ่มรวมถึงผู้ใช้คอมพิวเตอร์ของคุณทั้งหมด ผู้ใช้เครือข่ายและกลุ่มเครือข่ายรวมถึงผู้คนในเครือข่ายของคุณ
วิธีเปิดใช้งานเซิร์ฟเวอร์ AE บน Mac
ในการสอน Mac เครื่องอื่นบนเครือข่ายของคุณ คุณต้องมีทั้ง AppleScript และ Remote Apple Server เพื่อให้ทำงานได้ AppleScripts มีคำแนะนำสำหรับงานที่คุณต้องการให้ Mac เครื่องอื่นทำในขณะที่เซิร์ฟเวอร์ AE อนุญาตและดำเนินการตามคำแนะนำ คุณสามารถบอกให้ Mac เครื่องอื่นปิดเครื่อง เล่นเพลง เยี่ยมชมเว็บไซต์ หรือแสดงการแจ้งเตือนโดยใช้คุณสมบัติเหล่านี้ได้
หากต้องการเปิดใช้งาน Remote Apple Server หรือ AE Server บน Mac ของคุณ ให้ทำตามคำแนะนำเหล่านี้:
- บน Mac หรือ Mac ของคุณ คุณต้องการควบคุมระยะไกล ให้คลิกที่เมนู Apple จากนั้นเลือก การตั้งค่าระบบ
- คลิก การแบ่งปัน แล้วทำเครื่องหมายที่ช่องทำเครื่องหมาย Apple Events ระยะไกล
- ระบุผู้ใช้ที่ส่งกิจกรรมได้:
- ผู้ใช้ทั้งหมด :ผู้ใช้ทุกคนในคอมพิวเตอร์ของคุณและทุกคนในเครือข่ายของคุณสามารถส่งกิจกรรมไปยัง Mac ของคุณได้
- เฉพาะผู้ใช้เหล่านี้ :คลิกปุ่มเพิ่ม (+) จากนั้นเลือกผู้ใช้ที่สามารถส่งกิจกรรมได้ Users &Groups หมายถึงผู้ใช้ทั้งหมดในคอมพิวเตอร์ของคุณ ผู้ใช้เครือข่ายและกลุ่มเครือข่ายหมายถึงบุคคลในเครือข่ายของคุณ
เมื่อคุณทำตามขั้นตอนเหล่านี้แล้ว ผู้ใช้ที่คุณระบุสามารถส่ง AppleScripts ไปยัง Mac ของคุณได้ คุณยังต้องเข้าสู่ระบบโดยใช้ชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบ Mac นั้นเพื่อตรวจสอบสิทธิ์ AppleScript
แต่ก่อนที่จะเรียกใช้ AppleScript ให้ทำความสะอาดคอมพิวเตอร์ของคุณก่อนโดยใช้ซอฟต์แวร์ทำความสะอาด Mac เพื่อให้แน่ใจว่าคอมพิวเตอร์ของคุณทำงานได้ดีที่สุด
เช่นเดียวกับคุณสมบัติการแชร์ทั้งหมด คุณควรเปิดใช้งาน Remote Apple Events เฉพาะเมื่อคุณแน่ใจว่าคุณต้องการเท่านั้น บุคคลที่สามที่เป็นอันตรายซึ่งทราบที่อยู่ IP ของ Mac รวมถึงชื่อผู้ใช้และรหัสผ่านของคุณสามารถขโมยข้อมูลจาก Mac ของคุณ จี้อุปกรณ์ของคุณ หรือแทนที่เซสชันของคุณ หากคุณไม่ต้องการส่งคำแนะนำไปยัง Mac เครื่องอื่น เป็นการดีที่สุดที่จะปิดคุณลักษณะนี้ไว้เพื่อปิดช่องทางการโจมตีที่ไม่จำเป็นทั้งหมด
หากต้องการปิดใช้งาน Remote Apple Server คุณสามารถปิดได้โดยใช้เมนูการแชร์ (เมนู Apple> การตั้งค่าระบบ> การแชร์> กิจกรรม Apple ระยะไกล ) หรือพิมพ์คำสั่งต่อไปนี้โดยใช้ Terminal :
/usr/bin/sudo /bin/launchctl ปิดใช้งาน system/com.apple.AEServer
รีสตาร์ทคอมพิวเตอร์เพื่อให้การเปลี่ยนแปลงมีผล เซิร์ฟเวอร์ AE ของคุณควรถูกปิดใช้งานในขณะนี้
วิธีเขียน AppleScripts
การเปิดใช้งาน Remote Apple Server เป็นเพียงส่วนหนึ่งของสมการ ถัดไป คุณต้องเขียน AppleScripts พร้อมคำแนะนำว่าคุณต้องการให้ Mac ทำอะไร สำหรับสิ่งนี้ คุณต้องใช้ AppleScript Editor หรือ ตัวแก้ไขสคริปต์ ภายใต้ Finder> Utilities . เมื่อตัวแก้ไขเปิดขึ้น คุณสามารถเขียนสคริปต์ได้โดยคลิก ไฟล์> ใหม่
นี่คือสคริปต์บางส่วนที่คุณสามารถลองใช้ได้:
- นำ Mac เข้าสู่โหมดสลีป
บอกโปรแกรม "Finder" ของเครื่อง "eppc://IP Address ของ Mac เป้าหมาย"
นอนหลับ
จบการบอก
- เปิด iTunes
แอปพลิเคชัน iTunesell “iTunes” ของเครื่อง “eppc://IP Address ของ Mac เป้าหมาย”
เล่น
จบการบอก
- ออกจาก iTunes
แจ้งแอปพลิเคชัน “iTunes” ของเครื่อง “eppc://IP Address ของ Mac เป้าหมาย”
หยุด
จบการบอก
- เปิด Safari
บอกแอปพลิเคชัน “Safari” ของเครื่อง “eppc://IP Address ของ Mac เป้าหมาย”
เปิดใช้งาน
จบการบอก
- ออกจาก Safari
บอกแอปพลิเคชัน “Safari” ของเครื่อง “eppc://IP Address ของ Mac เป้าหมาย”
ลาออก
จบการบอก
เมื่อคุณสร้าง AppleScript เหล่านี้แล้ว คุณสามารถบันทึกไว้ใน Mac ของคุณและเรียกใช้เมื่อคุณต้องการ คุณจะต้องป้อนชื่อผู้ใช้และรหัสผ่านของ Mac เป้าหมายเพื่อดำเนินการ AppleScript