Клавишна комбинация за 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 няма да стартира shell скрипт, докато в предпочитанията му не е разрешено писането на скриптове, а на управляван Mac тази настройка може да е заключена от политика. Разрешавайте го за команди, които сами сте написали или прочели, а не за импортиран файл с неясно съдържание.
Синхронизирането е другият капан. Команда, копирана от друг 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 необвързан за един ден и отбележете колко често все пак посягате към менюто. Това ще ви каже дали натискането пести време, или само скрива състоянието.