แป้นพิมพ์ลัดสำหรับ VPN บน Mac: Shortcuts กับ Automator
ทั้ง Shortcuts และ Automator ผูก VPN บน Mac ไว้กับแป้นเดียว เปรียบเทียบว่าแต่ละแป้นอยู่ที่ไหน ถามอะไรคุณ และควรตรวจอะไรเมื่อไม่มีอะไรเกิดขึ้น
การกดแป้นหนึ่งครั้งก็พอจะเริ่ม VPN บน Mac และ Apple มีสองวิธีดั้งเดิมในการผูกมัน Shortcuts ให้แต่ละทางลัดมีชุดแป้นของตัวเองและมีรายการในแถบเมนู Automator ให้ Quick Action ที่คุณกำหนดแป้นในตั้งค่าระบบ แยกจากตัวเวิร์กโฟลว์เอง ทั้งสองเส้นทางส่งคำขอเดียวกันไปยังบริการเชื่อมต่อเดียวกัน ความต่างที่สำคัญจึงอยู่ที่ว่าการผูกนั้นอยู่ที่ไหน คุณผ่านด่านสิทธิ์ใดบ้าง และคุณตรวจอะไรเมื่อแป้นดูเหมือนไม่ทำอะไรเลย
ทุกอย่างด้านล่างถือว่ามีบริการ VPN ของระบบอยู่แล้วและปรากฏใน scutil --nc list ถ้าผู้ให้บริการของคุณส่งไคลเอนต์ของบุคคลที่สามซึ่งการเชื่อมต่อไม่เคยปรากฏที่นั่น ทั้งสองเครื่องมือก็สั่งงานผ่าน scutil ไม่ได้ และคุณต้องใช้การกระทำของผู้ให้บริการนั้นเอง
ทั้งสองเส้นทางเรียกบริการเดียวกัน
เริ่มจากรายการ ไม่ใช่จากแอป scutil --nc list พิมพ์บริการที่บันทึกไว้แต่ละรายการพร้อมสถานะและชื่อที่แสดงตรงตัว และนั่นคือสตริงที่คุณต้องใส่ในเครื่องหมายคำพูดในคำสั่ง:
/usr/sbin/scutil --nc start "Office VPN"บรรทัดนั้นคือคำขอเปิดใช้งานมันกลับมาทันทีที่คำขอได้รับการยอมรับ มันไม่รอปัจจัยที่สอง ไม่รายงานว่า DNS ส่วนตัวถูกตั้งไว้ และไม่ยืนยันว่าเซิร์ฟเวอร์ไฟล์ตอบสนอง มองมันเป็นการคลิกเดียวกับที่คุณจะทำในเมนู เพียงแต่ไม่มีเมนู
scutil ก็ไม่มีสวิตช์เช่นกัน การแยกการเชื่อมต่อและการตัดการเชื่อมต่อเป็นคนละการกระทำคิดตามได้ง่ายกว่าการใช้แป้นเดียวที่สลับสถานะ เพราะการสลับที่กดระหว่างแฮนด์เชกอาจหยุดการเชื่อมต่อที่ยังขึ้นไม่เสร็จ ถ้าต้องการแป้นเดียว ให้แยกตามผลลัพธ์ของ scutil --nc status "Office VPN" และตัดสินอย่างชัดเจน อย่าสลับแบบเดาสุ่ม
Shortcuts: หนึ่งแป้นต่อหนึ่งการกระทำ พื้นที่สิทธิ์กว้างกว่า
สร้างทางลัดในเครื่องใน Shortcuts และตั้งชื่อตามงาน เช่น Connect Office VPN
เพิ่ม Run Shell Script แล้ววางคำขอเริ่ม โดยพิมพ์ชื่อบริการตรง ๆ ไม่ใช่ดึงจากคลิปบอร์ดหรือข้อความที่เลือก
รันหนึ่งครั้งจากตัวแก้ไขในเซสชันที่คุณล็อกอินอยู่ แล้วทำขั้นตอนยืนยันตัวตนตามปกติให้เสร็จ เพื่อให้ระบบบันทึกการอนุมัติที่จำเป็น
เปิดรายละเอียดของทางลัดแล้วผูกชุดแป้นด้วย Add Keyboard Shortcut Apple เอกสารการผูกนี้ไว้ในคู่มือผู้ใช้ Shortcutsของบริษัท ชุดแป้นที่ระบบสงวนไว้แล้วเอามาใช้ไม่ได้
การผูกติดไปกับทางลัด การกระทำเดียวจึงนั่งอยู่ในแถบเมนูหรือใน Dock ได้โดยไม่ต้องทำงานเพิ่ม ราคาคือสิทธิ์ที่สอง Shortcuts จะไม่รันสคริปต์เชลล์จนกว่าจะอนุญาตการเขียนสคริปต์ในการตั้งค่า และบน Mac ที่มีการจัดการ การตั้งนี้อาจถูกล็อกด้วยนโยบาย อนุญาตเฉพาะทางลัดที่คุณเขียนหรืออ่านเอง ไม่ใช่ไฟล์นำเข้าที่เนื้อหาไม่ชัด
การซิงก์คือกับดักอีกอย่าง ทางลัดที่คัดลอกจาก Mac เครื่องอื่นยังพกชื่อบริการตรงตัวของเครื่องนั้นอยู่ บนเครื่องที่บริการชื่อต่างกัน แป้นจะทำงาน สคริปต์จะจบ และไม่มีอะไรบอกคุณว่าทำไม
Automator: ชิ้นส่วนที่เคลื่อนไหวน้อยกว่า แป้นที่คุณต้องตามหา
ใน Automator เลือก Quick Action ตั้งเวิร์กโฟลว์ให้ไม่รับข้อมูลเข้าในแอปใดเลย และเพิ่ม Run Shell Script ด้วยคำสั่งเดิม เชลล์
/bin/zshบันทึกด้วยชื่อที่คุณจะจำได้ในรายการ เพราะนั่นคือชื่อที่คุณจะค้นหาทีหลัง
เปิดตั้งค่าระบบ ตามด้วยแป้นพิมพ์ ตามด้วยทางลัดแป้นพิมพ์ ตามด้วยบริการ ค้นหาเวิร์กโฟลว์ ติ๊กถูกถ้ายังไม่ติ๊ก และบันทึกชุดแป้น
เวิร์กโฟลว์ถูกเรียกเป็นบริการ แป้นจึงอยู่ในตารางบริการและขึ้นกับชื่อเวิร์กโฟลว์ ถ้าคุณเปลี่ยนชื่อเวิร์กโฟลว์ที่บันทึกไว้ภายหลัง ควรเปิดแผงนั้นอีกครั้งเพื่อยืนยันว่าการกำหนดยังอยู่ ทางลัดของบริการเป็นแบบทั้งระบบ ซึ่งสะดวกจนกว่าจะชนกับชุดแป้นที่แอปอื่นต้องการ
สิ่งที่ได้คือชิ้นงานที่เล็กลงและคำขอสิทธิ์น้อยลงหนึ่งครั้ง ไฟล์เวิร์กโฟลว์ธรรมดา ไม่มีรายการแถบเมนูของตัวเอง ไม่มีสวิตช์การเขียนสคริปต์ให้เถียงกัน สิ่งที่เสียคือการค้นพบ เพราะการกระทำจะปรากฏในรายการบริการหลังเวิร์กโฟลว์ถูกบันทึกและระบบเห็นหนึ่งครั้งแล้วเท่านั้น
จุดที่ทั้งสองต่างกันเมื่อแป้นไม่ทำอะไรเลย
| Symptom | Shortcuts route | Automator route |
|---|---|---|
| Key fires, nothing connects | Service name mismatch; re-read scutil --nc list | Same name mismatch inside the shell action |
| Key never fires anywhere | Binding collides with a reserved or app-level combination | Service entry unticked in Keyboard Shortcuts, or renamed |
| An authorization dialog appears every time | Prompt comes from the VPN type, not from Shortcuts | Same prompt, same cause; the script runs as you |
| Connects, no reachable resource | Readiness not checked after the request | Identical gap, identical fix |
| Works only inside one app | Rare; check where the shortcut is made available | Workflow set to receive input from a specific app |
ตารางเบ้โดยตั้งใจ ในสองจากห้าแถวของมัน การแก้ไขต่างกันจริง ความล้มเหลวส่วนใหญ่มาจากคู่ข้อบกพร่องเดียวกัน คือชื่อที่ไม่ตรงกับบริการที่บันทึกไว้ และคำขอที่ถูกเข้าใจว่าเป็นการเชื่อมต่อที่เสร็จแล้ว และการเปลี่ยนเครื่องมือไม่ได้รักษาทั้งสองอย่าง
ทั้งสองเส้นทางยังปฏิเสธที่จะเก็บข้อมูลรับรอง ชุดแป้นไม่อาจเปลี่ยนการเข้าสู่ระบบแบบโต้ตอบให้กลายเป็นแบบไม่มีคนเฝ้า และการวางรหัสผ่านลงในสคริปต์เป็นความคิดที่แย่กว่าการพิมพ์วันละครั้ง
เลือกตามเงื่อนไขสามข้อนี้
เลือก Shortcuts เมื่อคุณต้องการแป้นต่อการกระทำพร้อมการเข้าถึงจากแถบเมนู และเมื่ออนุญาตการเขียนสคริปต์บนเครื่องแล้ว เลือก Automator เมื่อคุณต้องการไฟล์เดียวสำหรับคัดลอกระหว่าง Mac และไม่ต้องการสวิตช์เพิ่ม ถ้าองค์กรของคุณล็อกการเขียนสคริปต์ใน Shortcuts แล้ว Quick Action คือหนึ่งเดียวในสองที่จะทำงานได้โดยไม่ต้องเปลี่ยนนโยบาย และนั่นตัดสินคำถามให้คุณ
ก่อนจะพึ่งพาแป้น ให้ไล่รายการนี้ ยืนยันบริการใน scutil --nc list กดแป้นจากการเริ่มแบบเย็นและดู scutil --nc status เปิดทรัพยากรที่อุโมงค์มีไว้เพื่อมัน และสร้างการตัดการเชื่อมต่อแยกต่างหากที่ตั้งชื่อชัดเจน อย่าวางการหยุดเพียงอย่างเดียวไว้บนเซสชันระยะไกลที่คุณต้องมีอุโมงค์จึงจะเข้าถึง
ขั้นต่อไป ผูกเฉพาะ Connect ปล่อย Disconnect ไม่ผูกสักวัน แล้วจดว่าคุณยังเอื้อมไปที่เมนูบ่อยแค่ไหน นั่นบอกคุณว่าการกดแป้นประหยัดเวลาหรือแค่ซ่อนสถานะ