Atalho de teclado para a VPN do Mac: Shortcuts contra o Automator
Tanto o Shortcuts como o Automator ligam uma VPN do Mac a uma tecla de atalho. Compara onde vive cada tecla, o que te pergunta e o que verificar quando nada acontece.
Uma só pressão chega para arrancar uma VPN do Mac, e há duas formas nativas da Apple de a ligar. O Shortcuts dá a cada atalho a sua própria combinação de teclas e uma entrada na barra de menus. O Automator dá-te uma Quick Action cuja tecla atribuis em Definições do Sistema, fora do próprio fluxo de trabalho. Ambas as vias enviam o mesmo pedido para o mesmo serviço de ligação, por isso as diferenças que contam são onde vive a ligação, que portas de permissão atravessas e o que inspecionas quando a tecla parece não fazer nada.
Tudo o que se segue pressupõe um serviço VPN de sistema já existente que apareça em scutil --nc list. Se o teu fornecedor distribui um cliente de terceiros cuja ligação nunca aparece aí, nenhuma das duas ferramentas o consegue controlar através de scutil, e precisas da ação própria desse fornecedor.
Ambas as vias chamam o mesmo serviço
Começa pela lista, não pela app. scutil --nc list mostra cada serviço guardado com o seu estado e o seu nome de apresentação exato, e é essa cadeia que tens de pôr entre aspas no comando:
/usr/sbin/scutil --nc start "Office VPN"Essa linha é um pedido de ativação. Volta assim que o pedido é aceite; não espera um segundo fator, não informa que o DNS privado está definido nem confirma que o servidor de ficheiros responde. Trata-a como o mesmo clique que farias no menu, sem o menu.
Também não há nenhum comutador em scutil. Ações separadas para ligar e desligar raciocinam-se melhor do que uma tecla que inverte o estado, porque uma inversão premida durante um handshake pode parar uma ligação que nunca acabou de subir. Se queres uma só tecla, ramifica sobre a saída de scutil --nc status "Office VPN" e decide explicitamente; não alternes às cegas.
Shortcuts: uma tecla por ação, mais superfície de permissões
Cria um atalho local no Shortcuts e dá-lhe o nome da tarefa, por exemplo Connect Office VPN.
Adiciona Run Shell Script e cola o pedido de arranque, com o nome do serviço escrito literalmente em vez de tirado da área de transferência ou do texto selecionado.
Executa-o uma vez a partir do editor na tua própria sessão iniciada e conclui o fluxo normal de autenticação, para que o sistema registe a aprovação de que precisa.
Abre os detalhes do atalho e liga uma combinação com Add Keyboard Shortcut. A Apple documenta esta ligação no seu manual do utilizador do Shortcuts; as combinações que o sistema já reserva não podem ser tomadas.
A ligação viaja com o atalho, por isso uma ação também pode ficar na barra de menus ou no Dock sem trabalho extra. O preço é uma segunda permissão: o Shortcuts não executa um script de shell enquanto a scriptabilidade não estiver autorizada nas suas preferências, e num Mac gerido essa definição pode estar bloqueada por política. Autoriza-o para atalhos que escreveste ou leste, não para um ficheiro importado com conteúdo pouco claro.
A sincronização é a outra armadilha. Um atalho copiado de outro Mac continua a trazer o nome de serviço literal desse Mac. Numa máquina onde o serviço tem outro nome a tecla dispara, o script termina e nada te diz porquê.
Automator: menos peças móveis, uma tecla que tens de procurar
No Automator escolhe Quick Action, define o fluxo para não receber entrada em nenhuma aplicação e adiciona Run Shell Script com o mesmo comando, shell
/bin/zsh.Guarda-o com um nome que reconheças numa lista, porque é esse nome que vais procurar mais tarde.
Abre Definições do Sistema, depois Teclado, depois Atalhos de teclado, depois Serviços. Encontra o fluxo, marca-o se não estiver marcado e regista uma combinação.
O fluxo é invocado como serviço, por isso a tecla vive na tabela de serviços e depende do nome do fluxo. Se mais tarde renomeares o fluxo guardado, deves reabrir esse painel para confirmar que a atribuição sobreviveu. O atalho de serviço é global, o que é prático até colidir com uma combinação que outra app quer.
O que ganhas é um artefacto mais pequeno e um pedido de permissão a menos: um ficheiro de fluxo corrente, nenhum item próprio na barra de menus, nenhum comutador de scriptabilidade para discutir. O que perdes é a facilidade de descoberta, porque a ação só aparece na lista Serviços depois de o fluxo ter sido guardado e visto uma vez pelo sistema.
Onde divergem quando a tecla não faz nada
| 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 |
A tabela está torta de propósito: em duas das suas cinco linhas a correção é realmente diferente. A maioria das pressões falhadas resume-se ao mesmo par de falhas, um nome que não corresponde ao serviço guardado e um pedido tomado por uma ligação terminada, e trocar de ferramenta não cura nenhuma delas.
Ambas as vias também se recusam a guardar credenciais. Uma combinação de teclas não transforma um início de sessão interativo num não assistido, e colar uma palavra-passe num script é pior ideia do que escrevê-la uma vez por dia.
Escolhe segundo estas três condições
Escolhe Shortcuts quando queres uma tecla por ação mais acesso pela barra de menus, e quando a scriptabilidade já está autorizada na máquina. Escolhe Automator quando queres um só ficheiro para copiar entre Macs e nenhum comutador extra. Se a tua organização bloqueia a scriptabilidade do Shortcuts, a Quick Action é a única das duas que correrá sem uma mudança de política, e isso resolve a questão por ti.
Antes de confiares na tecla, percorre esta lista: confirma o serviço em scutil --nc list; prime a tecla a partir de um arranque a frio e observa scutil --nc status; abre o recurso para o qual o túnel existe; e cria uma ação de desligar separada e claramente nomeada. Não ponhas a única ação de paragem numa sessão remota que precisarias do túnel para alcançar.
Passo seguinte: liga só o Connect, deixa o Disconnect sem ligação durante um dia e repara em quantas vezes vais ao menu de qualquer maneira. Isso diz-te se a pressão poupa tempo ou apenas esconde estado.