Jediné stisknutí stačí ke spuštění VPN na Macu a Apple nabízí dvě nativní cesty, jak ji svázat. Shortcuts dává každé zkratce vlastní kombinaci kláves a položku v řádku nabídek. Automator vám dá akci Quick Action, jejíž klávesu přiřadíte v Nastavení systému, mimo samotný pracovní postup. Obě cesty posílají stejný požadavek stejné službě připojení, takže rozhodující rozdíly jsou v tom, kde vazba žije, kterými branami oprávnění projdete a co zkontrolujete, když se klávesa zdá nic nedělat.

Vše níže předpokládá existující systémovou VPN službu, která se objeví v scutil --nc list. Pokud váš poskytovatel dodává klienta třetí strany, jehož připojení se tam nikdy neobjeví, žádný z nástrojů jej přes scutil neovládne a potřebujete vlastní akci toho poskytovatele.

Obě cesty volají stejnou službu

Začněte seznamem, ne aplikací. scutil --nc list vypíše každou uloženou službu s jejím stavem a přesným zobrazovaným názvem, a to je řetězec, který musíte v příkazu uzavřít do uvozovek:

/usr/sbin/scutil --nc start "Office VPN"

Ten řádek je požadavek na aktivaci. Vrátí se, jakmile je požadavek přijat; nečeká na druhý faktor, nehlásí, že je nastaveno soukromé DNS, a nepotvrzuje, že souborový server odpovídá. Berte ho jako stejné kliknutí, které byste udělali v nabídce, jen bez nabídky.

V scutil také není žádný přepínač. Oddělené akce pro připojení a odpojení se snáz promýšlejí než jedna klávesa, která stav obrací, protože přepnutí stisknuté během handshake může zastavit připojení, které se nikdy nedokončilo. Chcete-li jednu klávesu, větvěte na výstupu scutil --nc status "Office VPN" a rozhodněte výslovně; nepřepínejte naslepo.

Shortcuts: jedna klávesa na akci, větší plocha oprávnění

  1. Vytvořte v Shortcuts lokální zkratku a pojmenujte ji podle úkolu, například Connect Office VPN.

  2. Přidejte Run Shell Script a vložte startovní požadavek, přičemž název služby napište doslova, místo abyste jej brali ze schránky nebo z označeného textu.

  3. Spusťte ji jednou z editoru ve vlastní přihlášené relaci a dokončete běžný průběh ověření, aby systém zaznamenal potřebné schválení.

  4. Otevřete podrobnosti zkratky a přiřaďte kombinaci pomocí Add Keyboard Shortcut. Apple tuto vazbu dokumentuje ve své uživatelské příručce Shortcuts; kombinace, které systém už rezervuje, nelze převzít.

Vazba cestuje se zkratkou, takže jedna akce může bez další práce sedět i v řádku nabídek nebo v Docku. Cenou je druhé oprávnění: Shortcuts nespustí skript shellu, dokud v jeho předvolbách není povoleno skriptování, a na spravovaném Macu může být toto nastavení uzamčeno zásadou. Povolte to pro zkratky, které jste napsali nebo přečetli, ne pro importovaný soubor s nejasným obsahem.

Synchronizace je druhá past. Zkratka zkopírovaná z jiného Macu stále nese doslovný název služby onoho Macu. Na stroji, kde se služba jmenuje jinak, klávesa vystřelí, skript skončí a nic vám neřekne proč.

Automator: méně pohyblivých částí, klávesa, kterou musíte najít

  1. V Automatoru zvolte Quick Action, nastavte pracovní postup tak, aby v žádné aplikaci nepřijímal vstup, a přidejte Run Shell Script se stejným příkazem, shell /bin/zsh.

  2. Uložte jej pod jménem, které v seznamu poznáte, protože to je jméno, které budete později hledat.

  3. Otevřete Nastavení systému, pak Klávesnici, pak Klávesové zkratky, pak Služby. Najděte pracovní postup, zaškrtněte jej, pokud zaškrtnutý není, a zaznamenejte kombinaci.

Pracovní postup se vyvolává jako služba, takže klávesa žije v tabulce služeb a visí na názvu pracovního postupu. Pokud uložený pracovní postup později přejmenujete, měli byste ten panel znovu otevřít a potvrdit, že přiřazení přežilo. Zkratka služby je globální, což je praktické, dokud se nesrazí s kombinací, kterou chce jiná aplikace.

Získáte menší artefakt a o jeden dotaz na oprávnění méně: obyčejný soubor pracovního postupu, žádnou vlastní položku v řádku nabídek, žádný přepínač skriptování k diskusi. Ztratíte dohledatelnost, protože akce se v seznamu Služby objeví až poté, co je pracovní postup uložen a jednou systémem spatřen.

Kde se rozcházejí, když klávesa nic nedělá

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

Tabulka je schválně křivá: ve dvou z jejích pěti řádků je oprava skutečně jiná. Většina neúspěšných stisků se redukuje na stejnou dvojici chyb, název, který neodpovídá uložené službě, a požadavek považovaný za dokončené připojení, a výměna nástroje nevyléčí ani jednu.

Obě cesty také odmítají ukládat přihlašovací údaje. Kombinace kláves nedokáže z interaktivního přihlášení udělat neobsluhované a vkládat heslo do skriptu je horší nápad než ho jednou denně napsat.

Vyberte podle těchto tří podmínek

Zvolte Shortcuts, když chcete klávesu na akci plus přístup z řádku nabídek a když je skriptování na stroji už povoleno. Zvolte Automator, když chcete jeden soubor ke kopírování mezi Macy a žádný přepínač navíc. Pokud vaše organizace skriptování v Shortcuts zamyká, je Quick Action jediná z těch dvou, která poběží bez změny zásady, a to otázku rozhodne za vás.

Než se na klávesu spolehnete, projděte tento seznam: potvrďte službu v scutil --nc list; stiskněte klávesu ze studeného startu a sledujte scutil --nc status; otevřete zdroj, pro který tunel existuje; a vytvořte samostatnou, jasně pojmenovanou akci odpojení. Nedávejte jedinou akci zastavení na vzdálenou relaci, k níž byste tunel potřebovali.

Další krok: přiřaďte jen Connect, nechte Disconnect den nepřiřazený a poznamenejte si, jak často i tak sáhnete po nabídce. To vám řekne, zda stisk šetří čas, nebo jen skrývá stav.

Související články