Una sola pulsación basta para arrancar una VPN del Mac, y hay dos formas nativas de Apple de vincularla. Shortcuts da a cada atajo su propia combinación de teclas y una entrada en la barra de menús. Automator te ofrece una Quick Action cuya tecla asignas en Ajustes del Sistema, fuera del propio flujo de trabajo. Ambas rutas envían la misma petición al mismo servicio de conexión, así que las diferencias que importan son dónde vive la vinculación, qué puertas de permiso atraviesas y qué inspeccionas cuando la tecla parece no hacer nada.

Todo lo que sigue supone un servicio VPN del sistema ya existente que aparece en scutil --nc list. Si tu proveedor distribuye un cliente de terceros cuya conexión nunca aparece ahí, ninguna de las dos herramientas puede controlarlo mediante scutil, y necesitas la acción propia de ese proveedor.

Ambas rutas llaman al mismo servicio

Empieza por la lista, no por la app. scutil --nc list muestra cada servicio guardado con su estado y su nombre de visualización exacto, y esa es la cadena que debes poner entre comillas en el comando:

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

Esa línea es una petición de activación. Vuelve en cuanto se acepta la petición; no espera un segundo factor, no informa de que el DNS privado está configurado ni confirma que el servidor de archivos responde. Trátala como el mismo clic que harías en el menú, sin el menú.

Tampoco hay ningún conmutador en scutil. Las acciones separadas de conectar y desconectar son más fáciles de razonar que una tecla que invierte el estado, porque una inversión pulsada durante un handshake puede detener una conexión que nunca terminó de subir. Si quieres una sola tecla, ramifica sobre la salida de scutil --nc status "Office VPN" y decide explícitamente; no alternes a ciegas.

Shortcuts: una tecla por acción, más superficie de permisos

  1. Crea un atajo local en Shortcuts y ponle el nombre de la tarea, por ejemplo Connect Office VPN.

  2. Añade Run Shell Script y pega la petición de arranque, con el nombre del servicio escrito literalmente en lugar de tomado del portapapeles o del texto seleccionado.

  3. Ejecútalo una vez desde el editor en tu propia sesión iniciada y completa el flujo de autenticación normal, para que el sistema registre la aprobación que necesita.

  4. Abre los detalles del atajo y vincula una combinación con Add Keyboard Shortcut. Apple documenta esta vinculación en su guía del usuario de Shortcuts; las combinaciones que el sistema ya reserva no se pueden tomar.

La vinculación viaja con el atajo, así que una acción también puede estar en la barra de menús o en el Dock sin trabajo extra. El precio es un segundo permiso: Shortcuts no ejecutará un script de shell hasta que se permita la scriptabilidad en sus preferencias, y en un Mac gestionado ese ajuste puede estar bloqueado por política. Permítelo para atajos que hayas escrito o leído, no para un archivo importado con contenido poco claro.

La sincronización es la otra trampa. Un atajo copiado de otro Mac sigue llevando el nombre de servicio literal de ese Mac. En una máquina donde el servicio tiene otro nombre la tecla se dispara, el script termina y nada te dice por qué.

Automator: menos piezas móviles, una tecla que tienes que buscar

  1. En Automator elige Quick Action, ajusta el flujo para que no reciba entrada en ninguna aplicación y añade Run Shell Script con el mismo comando, shell /bin/zsh.

  2. Guárdalo con un nombre que reconozcas en una lista, porque ese nombre es el que buscarás más tarde.

  3. Abre Ajustes del Sistema, luego Teclado, luego Atajos de teclado, luego Servicios. Encuentra el flujo, márcalo si no lo está y registra una combinación.

El flujo se invoca como servicio, así que la tecla vive en la tabla de servicios y depende del nombre del flujo. Si luego renombras el flujo guardado, deberías reabrir ese panel para confirmar que la asignación sobrevivió. El atajo de servicio es global, lo que resulta cómodo hasta que choca con una combinación que otra app quiere.

Lo que ganas es un artefacto más pequeño y una solicitud de permiso menos: un archivo de flujo corriente, ningún elemento propio en la barra de menús, ningún conmutador de scriptabilidad que discutir. Lo que pierdes es la facilidad de hallazgo, porque la acción solo aparece en la lista Servicios después de que el flujo se haya guardado y el sistema lo haya visto una vez.

Dónde divergen cuando la tecla no hace nada

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

La tabla está torcida a propósito: en dos de sus cinco filas la solución es realmente distinta. La mayoría de las pulsaciones fallidas se reducen al mismo par de fallos, un nombre que no coincide con el servicio guardado y una petición tomada por una conexión terminada, y cambiar de herramienta no cura ninguno de los dos.

Ambas rutas también se niegan a guardar credenciales. Una combinación de teclas no puede convertir un inicio de sesión interactivo en uno desatendido, y pegar una contraseña en un script es peor idea que escribirla una vez al día.

Elige según estas tres condiciones

Elige Shortcuts cuando quieras una tecla por acción más acceso desde la barra de menús, y cuando la scriptabilidad ya esté permitida en la máquina. Elige Automator cuando quieras un solo archivo para copiar entre Macs y ningún conmutador extra. Si tu organización bloquea la scriptabilidad de Shortcuts, la Quick Action es la única de las dos que se ejecutará sin un cambio de política, y eso resuelve la pregunta por ti.

Antes de confiar en la tecla, recorre esta lista: confirma el servicio en scutil --nc list; pulsa la tecla desde un arranque en frío y observa scutil --nc status; abre el recurso para el que existe el túnel; y crea una acción de desconexión separada y claramente nombrada. No pongas la única acción de parada en una sesión remota que necesitarías el túnel para alcanzar.

Siguiente paso: vincula solo Connect, deja Disconnect sin vincular durante un día y anota cuántas veces acudes al menú de todos modos. Eso te dice si la pulsación ahorra tiempo o solo esconde estado.

Artículos relacionados