Estou tentando escrever um AppleScript para conectar-se a um serviço VPN. Uma vez conectado à VPN, desejo exibir o ícone da VPN na área de status da barra de menus.
Eu cheguei tão longe
- conectando à VPN
- exibindo a seção Rede das Preferências do Sistema
mas não consigo selecionar o serviço. Como faço isso?
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.network"
tell application "System Events" to tell process "System Preferences" to tell window "Network"
-- code to select the VPN Service "XYZ" and click the "Show VPN Status in menu"
end tell
end tell
macos
applescript
vpn
Xerces
fonte
fonte
Respostas:
A resposta para sua pergunta pode ser dividida em duas partes:
conectar-se a uma VPN não é uma tarefa que precisa de scripts da GUI (por exemplo, abra o painel de preferências de rede e simule um clique em um item), pois essa funcionalidade faz parte do conjunto de preferências de rede dos eventos do sistema desde o Leopard (eu acho). Tudo o que você precisa é
exibir o item da barra de status da VPN , no entanto, não faz parte do conjunto de preferências de rede . Se você não conseguir viver com o ícone presente permanentemente em sua área da barra de status, será necessário usar o script da GUI para ativá-lo sob demanda:
observe que essa parte, como sempre nos scripts da GUI, é potencialmente altamente perturbadora: rouba o foco do usuário, na pior das hipóteses, até cancela o que ela estava fazendo se estivesse usando as Preferências do Sistema (há uma excelente discussão sobre os profissionais e (contras de scripts da GUI para manipular as Configurações do sistema anteriores aos Conjuntos de preferências no MacScripter ). Também é frágil (pois está sujeito ao layout específico da interface do usuário do painel de preferências), embora se você seguir o modelo que mostro acima, usando índices e recuperação de nomes de processos por meio do ID do aplicativo, ele pelo menos não seja afetado por problemas de localização .
fonte