Клавіятурнае скарачэнне для 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, па-ранейшаму нясе літаральнае імя службы таго 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 непрывязаным на дзень і заўважце, як часта вы ўсё роўна цягнецеся да меню. Гэта скажа вам, ці націск эканоміць час, ці проста хавае стан.