Mac-VPN-tastaturgenvej: Shortcuts mod Automator
Shortcuts og Automator binder begge en Mac-VPN til en genvejstast. Sammenlign, hvor hver tast ligger, hvad der spørger dig, og hvad du skal tjekke, når intet sker.
Et enkelt tastetryk er nok til at starte en Mac-VPN, og der er to Apple-oprindelige måder at binde det på. Shortcuts giver hver genvej sin egen tastekombination og en post i menulinjen. Automator giver dig en Quick Action, hvis tast du tildeler i Systemindstillinger, væk fra selve workflown. Begge veje sender den samme anmodning til den samme forbindelsestjeneste, så de forskelle, der betyder noget, er hvor bindingen ligger, hvilke tilladelsesled du passerer, og hvad du undersøger, når tasten tilsyneladende ikke gør noget.
Alt nedenfor forudsætter en eksisterende system-VPN-tjeneste, der optræder i scutil --nc list. Leverer din udbyder en tredjepartsklient, hvis forbindelse aldrig dukker op der, kan ingen af de to værktøjer styre den gennem scutil, og du har i stedet brug for den leverandørs egen handling.
Begge veje kalder den samme tjeneste
Begynd med listen, ikke med appen. scutil --nc list viser hver gemt tjeneste med sin status og sit nøjagtige visningsnavn, og netop den streng skal du sætte i anførselstegn i kommandoen:
/usr/sbin/scutil --nc start "Office VPN"Den linje er en aktiveringsanmodning. Den vender tilbage, så snart anmodningen er accepteret; den venter ikke på en anden faktor, rapporterer ikke at privat DNS er sat, og bekræfter ikke at filserveren svarer. Behandl den som det samme klik, du ville lave i menuen, blot uden menuen.
Der er heller ingen kontakt i scutil. Adskilte handlinger til at forbinde og afbryde er lettere at gennemskue end én tast, der vender tilstanden, for et skift trykket under et håndtryk kan stoppe en forbindelse, der aldrig blev færdig. Vil du have én tast, så forgren på outputtet fra scutil --nc status "Office VPN" og beslut udtrykkeligt; skift ikke blindt frem og tilbage.
Shortcuts: én tast pr. handling, mere tilladelsesflade
Opret en lokal genvej i Shortcuts og navngiv den efter opgaven, for eksempel Connect Office VPN.
Tilføj Run Shell Script og indsæt startanmodningen, hvor tjenestenavnet skrives bogstaveligt i stedet for at blive hentet fra udklipsholderen eller markeret tekst.
Kør den én gang fra editoren i din egen indloggede session og gennemfør det normale godkendelsesforløb, så systemet registrerer den godkendelse, det har brug for.
Åbn genvejens detaljer og bind en kombination med Add Keyboard Shortcut. Apple dokumenterer denne binding i sin Shortcuts-brugervejledning; kombinationer, som systemet allerede reserverer, kan ikke overtages.
Bindingen følger med genvejen, så én handling også kan ligge i menulinjen eller i Dock uden ekstra arbejde. Prisen er en ekstra tilladelse: Shortcuts kører ikke et shell-script, før scripting er tilladt i indstillingerne, og på en administreret Mac kan den indstilling være låst af politik. Tillad det for genveje, du selv har skrevet eller læst, ikke for en importeret fil med uklart indhold.
Synkronisering er den anden fælde. En genvej kopieret fra en anden Mac bærer stadig den Macs bogstavelige tjenestenavn. På en maskine, hvor tjenesten hedder noget andet, fyrer tasten, scriptet afsluttes, og intet fortæller dig hvorfor.
Automator: færre bevægelige dele, en tast du skal lede efter
Vælg Quick Action i Automator, indstil workflown til ikke at modtage input i nogen app, og tilføj Run Shell Script med den samme kommando, shell
/bin/zsh.Gem den under et navn, du kan genkende i en liste, for det navn er det, du senere vil søge efter.
Åbn Systemindstillinger, derefter Tastatur, derefter Tastaturgenveje, derefter Tjenester. Find workflown, sæt hak ved den, hvis den ikke er markeret, og optag en kombination.
Workflown kaldes som en tjeneste, så tasten ligger i tjenestetabellen og hænger på workflowens navn. Omdøber du den gemte workflow senere, bør du åbne panelet igen og bekræfte, at tildelingen overlevede. Tjenestegenvejen er global, hvilket er praktisk, indtil den kolliderer med en kombination, en anden app vil have.
Det, du vinder, er et mindre artefakt og en tilladelsesforespørgsel mindre: en almindelig workflowfil, intet eget menulinjeelement, ingen scripting-kontakt at diskutere. Det, du mister, er findbarhed, for handlingen dukker først op på listen Tjenester, efter at workflown er gemt og set af systemet én gang.
Hvor de skilles, når tasten intet gør
| 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 |
Tabellen er skæv med vilje: i to af dens fem rækker er rettelsen virkelig en anden. De fleste mislykkede tastetryk bunder i det samme fejlpar, et navn der ikke matcher den gemte tjeneste og en anmodning, der tages for en færdig forbindelse, og at bytte værktøj helbreder ingen af dem.
Begge veje nægter også at gemme legitimationsoplysninger. En tastekombination kan ikke gøre et interaktivt login til et ubemandet, og at indsætte en adgangskode i et script er en dårligere idé end at skrive den én gang om dagen.
Vælg efter disse tre betingelser
Vælg Shortcuts, når du vil have én tast pr. handling plus adgang via menulinjen, og når scripting allerede er tilladt på maskinen. Vælg Automator, når du vil have én fil at kopiere mellem Macs og ingen ekstra kontakt. Låser din organisation scripting i Shortcuts, er Quick Action den eneste af de to, der kører uden en politikændring, og det afgør spørgsmålet for dig.
Før du stoler på tasten, gå denne liste igennem: bekræft tjenesten i scutil --nc list; tryk tasten fra en kold start og følg scutil --nc status; åbn den ressource, tunnelen findes for; og opret en separat, klart navngivet afbrydelseshandling. Læg ikke den eneste stop-handling på en fjernsession, du ville have brug for tunnelen til at nå.
Næste skridt: bind kun Connect, lad Disconnect være ubundet i en dag, og noter, hvor ofte du alligevel griber efter menuen. Det fortæller dig, om tastetrykket sparer tid eller blot skjuler tilstand.