Skrót klawiszowy VPN na Macu: Shortcuts kontra Automator
Shortcuts i Automator wiążą VPN na Macu z jednym klawiszem. Porównaj, gdzie mieszka każdy klawisz, co o ciebie pyta i co sprawdzić, gdy nic się nie dzieje.
Jedno naciśnięcie wystarczy, by uruchomić VPN na Macu, a Apple daje dwie natywne drogi, by je związać. Shortcuts daje każdemu skrótowi własną kombinację klawiszy i wpis w pasku menu. Automator daje akcję Quick Action, której klawisz przypisujesz w Ustawieniach Systemowych, poza samym przepływem pracy. Obie drogi wysyłają to samo żądanie do tej samej usługi połączenia, więc liczą się różnice w tym, gdzie mieszka powiązanie, przez jakie bramy uprawnień przechodzisz i co sprawdzasz, gdy klawisz zdaje się nic nie robić.
Wszystko poniżej zakłada istniejącą usługę VPN systemu, która pojawia się w scutil --nc list. Jeśli twój dostawca daje klienta innej firmy, którego połączenie nigdy tam nie widnieje, żadne z narzędzi nie poprowadzi go przez scutil, i potrzebujesz własnej akcji tego dostawcy.
Obie drogi wołają tę samą usługę
Zacznij od listy, nie od aplikacji. scutil --nc list wypisuje każdą zapisaną usługę ze stanem i dokładną nazwą wyświetlaną, i to jest ten ciąg, który musisz ująć w cudzysłów w poleceniu:
/usr/sbin/scutil --nc start "Office VPN"Ta linia to żądanie aktywacji. Wraca, gdy tylko żądanie zostanie przyjęte; nie czeka na drugi składnik, nie zgłasza ustawienia prywatnego DNS ani nie potwierdza, że serwer plików odpowiada. Traktuj ją jak to samo kliknięcie, które zrobiłbyś w menu, tylko bez menu.
W scutil nie ma też przełącznika. Osobne akcje łączenia i rozłączania łatwiej przemyśleć niż jeden klawisz odwracający stan, bo przełączenie wciśnięte podczas uzgadniania może zatrzymać połączenie, które nigdy nie doszło do końca. Jeśli chcesz jeden klawisz, rozgałęź się na wyniku scutil --nc status "Office VPN" i zdecyduj wprost; nie przełączaj na ślepo.
Shortcuts: jeden klawisz na akcję, większa powierzchnia uprawnień
Utwórz lokalny skrót w Shortcuts i nazwij go od zadania, na przykład Connect Office VPN.
Dodaj Run Shell Script i wklej żądanie startu, wpisując nazwę usługi dosłownie, a nie biorąc jej ze schowka czy z zaznaczonego tekstu.
Uruchom go raz z edytora we własnej zalogowanej sesji i dokończ normalny przebieg uwierzytelniania, żeby system zapisał potrzebną zgodę.
Otwórz szczegóły skrótu i przypisz kombinację przez Add Keyboard Shortcut. Apple opisuje to powiązanie w swoim podręczniku użytkownika Shortcuts; kombinacji, które system już rezerwuje, nie da się przejąć.
Powiązanie wędruje ze skrótem, więc jedna akcja może też siedzieć w pasku menu albo w Docku bez dodatkowej pracy. Ceną jest drugie uprawnienie: Shortcuts nie uruchomi skryptu powłoki, dopóki skryptowanie nie zostanie dozwolone w jego preferencjach, a na zarządzanym Macu to ustawienie może być zablokowane polityką. Zezwól na to dla skrótów, które sam napisałeś lub przeczytałeś, nie dla importowanego pliku o niejasnej treści.
Synchronizacja to druga pułapka. Skrót skopiowany z innego Maca nadal niesie dosłowną nazwę usługi tamtego Maca. Na maszynie, gdzie usługa nazywa się inaczej, klawisz zadziała, skrypt się skończy, a nic nie powie ci dlaczego.
Automator: mniej ruchomych części, klawisz, którego musisz poszukać
W Automatorze wybierz Quick Action, ustaw przepływ tak, by nie przyjmował wejścia w żadnej aplikacji, i dodaj Run Shell Script z tym samym poleceniem, powłoka
/bin/zsh.Zapisz go pod nazwą, którą rozpoznasz na liście, bo to tej nazwy będziesz później szukać.
Otwórz Ustawienia Systemowe, potem Klawiaturę, potem Skróty klawiaturowe, potem Usługi. Znajdź przepływ, zaznacz go, jeśli nie jest zaznaczony, i zapisz kombinację.
Przepływ jest wywoływany jako usługa, więc klawisz mieszka w tabeli usług i zależy od nazwy przepływu. Jeśli później zmienisz nazwę zapisanego przepływu, powinieneś otworzyć ten panel ponownie i potwierdzić, że przypisanie przetrwało. Skrót usługi jest globalny, co jest wygodne, dopóki nie zderzy się z kombinacją, którą chce mieć inna aplikacja.
Zyskujesz mniejszy artefakt i jedno pytanie o uprawnienia mniej: zwykły plik przepływu, żadnej własnej pozycji w pasku menu, żadnego przełącznika skryptowania do dyskusji. Tracisz wykrywalność, bo akcja pojawia się na liście Usługi dopiero po zapisaniu przepływu i zobaczeniu go raz przez system.
Gdzie się rozmijają, gdy klawisz nic nie robi
| 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 |
Tabela jest krzywa celowo: w dwóch z jej pięciu wierszy poprawka jest naprawdę inna. Większość nieudanych naciśnięć sprowadza się do tej samej pary błędów, nazwy niezgodnej z zapisaną usługą i żądania wziętego za ukończone połączenie, a zmiana narzędzia nie leczy żadnego z nich.
Obie drogi odmawiają też przechowywania danych logowania. Kombinacja klawiszy nie zamieni logowania interaktywnego w bezobsługowe, a wklejanie hasła do skryptu to gorszy pomysł niż wpisanie go raz dziennie.
Wybierz według tych trzech warunków
Wybierz Shortcuts, gdy chcesz klawisz na akcję plus dostęp z paska menu i gdy skryptowanie jest już na maszynie dozwolone. Wybierz Automator, gdy chcesz jeden plik do kopiowania między Macami i żadnego dodatkowego przełącznika. Jeśli twoja organizacja blokuje skryptowanie w Shortcuts, Quick Action jest jedyną z dwóch, która ruszy bez zmiany polityki, i to rozstrzyga pytanie za ciebie.
Zanim zaufasz klawiszowi, przejdź tę listę: potwierdź usługę w scutil --nc list; naciśnij klawisz z zimnego startu i obserwuj scutil --nc status; otwórz zasób, dla którego istnieje tunel; i utwórz osobną, jasno nazwaną akcję rozłączania. Nie kładź jedynej akcji zatrzymania na sesji zdalnej, do której potrzebowałbyś tunelu.
Następny krok: przypisz tylko Connect, zostaw Disconnect nieprzypisany na jeden dzień i zanotuj, jak często i tak sięgasz do menu. To powie ci, czy naciśnięcie oszczędza czas, czy tylko ukrywa stan.