یک فشار کلید برای راه‌اندازی VPN مک کافی است و اپل دو روش بومی برای بستن آن دارد. 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: یک کلید به‌ازای هر کنش، سطح مجوز بیشتر

  1. در Shortcuts یک میان‌بر محلی بسازید و آن را به نام وظیفه بنامید، مثلاً Connect Office VPN.

  2. Run Shell Script را اضافه کنید و درخواست شروع را بچسبانید، با نام سرویس که به‌صورت تحت‌اللفظی تایپ شده نه از کلیپ‌بورد یا متن انتخاب‌شده گرفته‌شده.

  3. یک بار از ویرایشگر در نشست واردشده خودتان اجرایش کنید و جریان احراز هویت معمول را کامل کنید تا سیستم مجوز لازم را ثبت کند.

  4. جزئیات میان‌بر را باز کنید و ترکیبی را با Add Keyboard Shortcut ببندید. اپل این بستن را در راهنمای کاربر Shortcuts مستند می‌کند؛ ترکیب‌هایی که سیستم از پیش رزرو کرده قابل تصاحب نیستند.

بستن همراه میان‌بر سفر می‌کند، پس یک کنش می‌تواند بدون کار اضافی در نوار منو یا در Dock هم بنشیند. بها مجوز دومی است: Shortcuts تا زمانی که اسکریپت‌نویسی در تنظیماتش مجاز نشود اسکریپت پوسته اجرا نمی‌کند، و روی مک مدیریت‌شده ممکن است آن تنظیم با سیاست قفل شده باشد. آن را برای میان‌برهایی که خودتان نوشته یا خوانده‌اید مجاز کنید، نه برای فایلی واردشده با محتوای نامعلوم.

همگام‌سازی تله دیگر است. میان‌بری که از مک دیگری کپی شده هنوز نام تحت‌اللفظی سرویس آن مک را حمل می‌کند. روی ماشینی که سرویس نام دیگری دارد کلید شلیک می‌شود، اسکریپت خارج می‌شود و هیچ‌چیز به شما نمی‌گوید چرا.

Automator: قطعات متحرک کمتر، کلیدی که باید دنبالش بگردید

  1. در Automator گزینه Quick Action را انتخاب کنید، جریان کار را طوری تنظیم کنید که در هیچ برنامه‌ای ورودی نگیرد، و Run Shell Script را با همان فرمان اضافه کنید، پوسته /bin/zsh.

  2. آن را با نامی ذخیره کنید که در فهرست بشناسید، چون همان نام را بعداً جست‌وجو خواهید کرد.

  3. تنظیمات سیستم، سپس صفحه‌کلید، سپس میان‌برهای صفحه‌کلید، سپس سرویس‌ها را باز کنید. جریان کار را بیابید، اگر تیک ندارد تیک بزنید و ترکیبی ثبت کنید.

جریان کار به‌عنوان سرویس فراخوانده می‌شود، پس کلید در جدول سرویس‌ها زندگی می‌کند و به نام جریان کار وابسته است. اگر بعداً جریان کار ذخیره‌شده را تغییر نام دهید، بهتر است آن پنل را دوباره باز کنید و تأیید کنید که تخصیص زنده مانده است. میان‌بر سرویس سراسری است، و این راحت است تا وقتی با ترکیبی که برنامه دیگری می‌خواهد برخورد کند.

آنچه می‌برید یک اثر کوچک‌تر و یک درخواست مجوز کمتر است: یک فایل جریان کار ساده، بدون مدخل نوار منوی خودش، بدون کلید تبدیل اسکریپت‌نویسی برای بحث. آنچه از دست می‌دهید یافت‌پذیری است، چون کنش تنها پس از ذخیره شدن جریان کار و یک بار دیده شدن توسط سیستم در فهرست سرویس‌ها ظاهر می‌شود.

کجا از هم جدا می‌شوند وقتی کلید هیچ کاری نمی‌کند

SymptomShortcuts routeAutomator route
Key fires, nothing connectsService name mismatch; re-read scutil --nc listSame name mismatch inside the shell action
Key never fires anywhereBinding collides with a reserved or app-level combinationService entry unticked in Keyboard Shortcuts, or renamed
An authorization dialog appears every timePrompt comes from the VPN type, not from ShortcutsSame prompt, same cause; the script runs as you
Connects, no reachable resourceReadiness not checked after the requestIdentical gap, identical fix
Works only inside one appRare; check where the shortcut is made availableWorkflow set to receive input from a specific app

جدول عمداً کج است: در دو ردیف از پنج ردیفش درمان واقعاً متفاوت است. بیشتر فشارهای ناموفق به همان جفت عیب می‌رسند، نامی که با سرویس ذخیره‌شده نمی‌خواند و درخواستی که اتصال تمام‌شده پنداشته می‌شود، و عوض کردن ابزار هیچ‌کدام را درمان نمی‌کند.

هر دو مسیر هم از ذخیره اعتبارنامه خودداری می‌کنند. ترکیب کلید نمی‌تواند ورود تعاملی را به ورود بدون نظارت تبدیل کند، و چسباندن گذرواژه در اسکریپت ایده بدتری از تایپ آن روزی یک بار است.

بر پایه این سه شرط انتخاب کنید

Shortcuts را انتخاب کنید وقتی یک کلید به‌ازای هر کنش به‌همراه دسترسی از نوار منو می‌خواهید و وقتی اسکریپت‌نویسی روی ماشین از پیش مجاز است. Automator را انتخاب کنید وقتی یک فایل برای کپی بین مک‌ها و هیچ کلید تبدیل اضافی نمی‌خواهید. اگر سازمان شما اسکریپت‌نویسی Shortcuts را قفل می‌کند، Quick Action تنها یکی از این دو است که بدون تغییر سیاست اجرا می‌شود، و این پرسش را به‌جای شما حل می‌کند.

پیش از تکیه بر کلید، این فهرست را بگذرانید: سرویس را در scutil --nc list تأیید کنید؛ کلید را از راه‌اندازی سرد فشار دهید و scutil --nc status را ببینید؛ منبعی را که تونل برایش وجود دارد باز کنید؛ و کنش قطع جداگانه و روشن‌نامی بسازید. تنها کنش توقف را روی نشست دوری که برای رسیدن به آن به تونل نیاز داشتید نگذارید.

گام بعدی: فقط Connect را ببندید، Disconnect را یک روز بسته‌نشده بگذارید و یادداشت کنید چند بار باز هم به منو دست می‌برید. این به شما می‌گوید فشار کلید وقت می‌بخشد یا فقط وضعیت را پنهان می‌کند.

مقالات مرتبط