Eén toetsaanslag volstaat om een Mac-VPN te starten, en er zijn twee Apple-eigen manieren om die eraan te koppelen. Shortcuts geeft elke opdracht zijn eigen toetscombinatie en een vermelding in de menubalk. Automator geeft je een Quick Action waarvan je de toets in de Systeeminstellingen toewijst, los van de workflow zelf. Beide routes sturen hetzelfde verzoek naar dezelfde verbindingsdienst, dus de verschillen die tellen zijn waar de koppeling woont, welke toestemmingspoorten je passeert en wat je onderzoekt wanneer de toets niets lijkt te doen.

Alles hieronder gaat uit van een bestaande systeem-VPN-dienst die in scutil --nc list verschijnt. Levert je provider een client van derden waarvan de verbinding daar nooit opduikt, dan kan geen van beide hulpmiddelen die via scutil aansturen, en heb je juist de eigen actie van die leverancier nodig.

Beide routes roepen dezelfde dienst aan

Begin bij de lijst, niet bij de app. scutil --nc list toont elke opgeslagen dienst met zijn status en zijn exacte weergavenaam, en dat is de tekenreeks die je in het commando tussen aanhalingstekens moet zetten:

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

Die regel is een verzoek om te activeren. Hij keert terug zodra het verzoek is aanvaard; hij wacht niet op een tweede factor, meldt niet dat privé-DNS is ingesteld en bevestigt niet dat de bestandsserver antwoordt. Behandel hem als dezelfde klik die je in het menu zou maken, zonder het menu.

Er is in scutil ook geen schakelaar. Afzonderlijke acties voor verbinden en verbreken zijn beter te overzien dan één toets die de toestand omzet, want een omschakeling tijdens de handshake kan een verbinding stoppen die nooit klaar opkwam. Wil je één toets, vertak dan op de uitvoer van scutil --nc status "Office VPN" en beslis uitdrukkelijk; wissel niet blindelings af.

Shortcuts: één toets per actie, meer toestemmingsoppervlak

  1. Maak in Shortcuts een lokale opdracht en noem hem naar de taak, bijvoorbeeld Connect Office VPN.

  2. Voeg Run Shell Script toe en plak het startverzoek, waarbij je de dienstnaam letterlijk typt in plaats van hem uit het klembord of uit geselecteerde tekst te halen.

  3. Voer hem één keer uit vanuit de editor in je eigen aangemelde sessie en rond de normale aanmeldingsstroom af, zodat het systeem de goedkeuring vastlegt die het nodig heeft.

  4. Open de details van de opdracht en koppel met Add Keyboard Shortcut een combinatie. Apple documenteert deze koppeling in zijn Shortcuts-gebruikershandleiding; combinaties die het systeem al reserveert, kun je niet overnemen.

De koppeling reist mee met de opdracht, dus één actie kan zonder extra werk ook in de menubalk of in het Dock staan. De prijs is een tweede toestemming: Shortcuts voert geen shell-script uit voordat scripting in zijn instellingen is toegestaan, en op een beheerde Mac kan die instelling door beleid op slot zitten. Sta het toe voor opdrachten die je zelf hebt geschreven of gelezen, niet voor een geïmporteerd bestand met onduidelijke inhoud.

Synchronisatie is de andere valkuil. Een opdracht die van een andere Mac is gekopieerd, draagt nog steeds de letterlijke dienstnaam van die Mac. Op een machine waar de dienst anders heet, vuurt de toets, stopt het script, en niets vertelt je waarom.

Automator: minder bewegende delen, een toets die je moet zoeken

  1. Kies in Automator Quick Action, zet de workflow op geen invoer in welke app dan ook, en voeg Run Shell Script toe met hetzelfde commando, shell /bin/zsh.

  2. Bewaar hem onder een naam die je in een lijst herkent, want die naam is waar je later naar zoekt.

  3. Open Systeeminstellingen, dan Toetsenbord, dan Toetsenbord sneltoetsen, dan Diensten. Zoek de workflow, vink hem aan als hij niet aangevinkt is, en leg een combinatie vast.

De workflow wordt als dienst aangeroepen, dus de toets woont in de dienstentabel en hangt aan de workflownaam. Hernoem de bewaarde workflow later en je hoort dat paneel opnieuw te openen om te bevestigen dat de toewijzing het heeft overleefd. De dienstsneltoets is globaal, wat handig is tot hij botst met een combinatie die een andere app wil.

Wat je wint, is een kleiner artefact en één toestemmingsvraag minder: een gewoon workflowbestand, geen eigen menubalkitem, geen scripting-schakelaar om over te twisten. Wat je verliest, is vindbaarheid, want de actie verschijnt pas in de lijst Diensten nadat de workflow is bewaard en één keer door het systeem is gezien.

Waar ze uiteengaan wanneer de toets niets doet

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

De tabel is met opzet scheef: in twee van zijn vijf rijen is de oplossing echt anders. De meeste mislukte toetsaanslagen komen neer op hetzelfde paar fouten, een naam die niet bij de opgeslagen dienst past en een verzoek dat voor een afgeronde verbinding wordt aangezien, en een ander hulpmiddel geneest geen van beide.

Beide routes weigeren ook inloggegevens op te slaan. Een toetscombinatie kan van een interactieve aanmelding geen onbeheerde maken, en een wachtwoord in een script plakken is een slechter idee dan het één keer per dag te typen.

Kies op basis van deze drie voorwaarden

Kies Shortcuts wanneer je een toets per actie plus toegang via de menubalk wilt, en wanneer scripting op de machine al is toegestaan. Kies Automator wanneer je één bestand wilt om tussen Macs te kopiëren en geen extra schakelaar. Blokkeert je organisatie scripting in Shortcuts, dan is de Quick Action van de twee de enige die zonder beleidswijziging loopt, en daarmee is de vraag voor jou beslist.

Voordat je op de toets vertrouwt, loop deze lijst na: bevestig de dienst in scutil --nc list; druk de toets vanuit een koude start en kijk naar scutil --nc status; open de bron waarvoor de tunnel bestaat; en maak een aparte, duidelijk genoemde verbreekactie. Zet de enige stopactie niet op een externe sessie die je nodig hebt om de tunnel te bereiken.

Volgende stap: koppel alleen Connect, laat Disconnect een dag ongekoppeld, en noteer hoe vaak je toch naar het menu grijpt. Dat vertelt je of de toetsaanslag tijd bespaart of alleen toestand verbergt.

Gerelateerde artikelen