Аднаго націску дастаткова, каб запусціць 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: адна клавіша на дзею, большая паверхня дазволаў

  1. Стварыце ў Shortcuts лакальную каманду і назавіце яе паводле задачы, напрыклад Connect Office VPN.

  2. Дадайце Run Shell Script і ўстаўце запыт запуску, набраўшы імя службы літаральна, а не ўзяўшы яго з буфера абмену ці выдзеленага тэксту.

  3. Запусціце яго адзін раз з рэдактара ва ўласнай сесіі, у якой вы ўвайшлі, і завяршыце звычайны паток аўтэнтыфікацыі, каб сістэма запісала патрэбны дазвол.

  4. Адкрыйце звесткі пра каманду і прывяжыце камбінацыю праз Add Keyboard Shortcut. Apple дакументуе гэтую прывязку ў сваім кіраўніцтве карыстальніка Shortcuts; камбінацыі, якія сістэма ўжо зарезервавала, забраць нельга.

Прывязка падарожнічае разам з камандай, таму адна дзея можа без лішняй працы сядзець і ў радку меню, і ў Dock. Цана — другі дазвол: Shortcuts не запусціць скрыпт абалонкі, пакуль у яго наладах не дазволена напісанне скрыптоў, а на кіраваным Mac гэты параметр можа быць заблакаваны палітыкай. Дазваляйце гэта для каманд, якія вы самі напісалі ці прачыталі, а не для імпартаванага файла з неясным змесцівам.

Сінхранізацыя — іншая пастка. Каманда, скапіяваная з іншага Mac, па-ранейшаму нясе літаральнае імя службы таго Mac. На машыне, дзе служба называецца інакш, клавіша спрацоўвае, скрыпт завяршаецца, і нішто не кажа вам чаму.

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, калі хочаце адзін файл для капіявання паміж Mac і ніякага лішняга перамыкача. Калі ваша арганізацыя замыкае напісанне скрыптоў у Shortcuts, Quick Action — адзіная з двух, што запрацуе без змены палітыкі, і гэта вырашае пытанне за вас.

Перш чым спадзявацца на клавішу, прайдзіце гэты спіс: пацвердзіце службу ў scutil --nc list; націсніце клавішу з халоднага старту і назірайце за scutil --nc status; адкрыйце рэсурс, дзеля якога існуе тунэль; і стварыце асобную, ясна названую дзею адключэння. Не стаўце адзіную дзею прыпынку на аддаленую сесію, да якой вам патрэбны тунэль.

Наступны крок: прывяжыце толькі Connect, пакіньце Disconnect непрывязаным на дзень і заўважце, як часта вы ўсё роўна цягнецеся да меню. Гэта скажа вам, ці націск эканоміць час, ці проста хавае стан.

Падобныя артыкулы