ერთი ღილაკის დაჭერა საკმარისია Mac VPN-ის გასაშვებად და Apple მას ორ საკუთარ გზას სთავაზობს. Shortcuts თითოეულ მალსახმობს აძლევს საკუთარ ღილაკთა კომბინაციას და ჩანაწერს მენიუს ზოლში. Automator გაძლევთ Quick Action-ს, რომლის ღილაკსაც თქვენ სისტემის პარამეტრებში ნიშნავთ, თავად სამუშაო ნაკადისგან მოშორებით. ორივე გზა ერთსა და იმავე მოთხოვნას უგზავნის ერთსა და იმავე კავშირის სერვისს, ამიტომ მნიშვნელოვანი განსხვავებებია, სად ცხოვრობს მიბმა, რომელი ნებართვის კარიბჭეებს გაივლით და რას ამოწმებთ, როცა ღილაკი თითქოს არაფერს აკეთებს.

ქვემოთ ყველაფერი ვარაუდობს არსებულ სისტემურ VPN სერვისს, რომელიც ჩანს scutil --nc list-ში. თუ თქვენი პროვაიდერი აწვდის მესამე მხარის კლიენტს, რომლის კავშირიც იქ არასდროს ჩანს, ვერც ერთი ორი ხელსაწყოდან ვერ მართავს მას scutil-ის მეშვეობით და გჭირდებათ სწორედ იმ პროვაიდერის საკუთარი ქმედება.

ორივე გზა იძახებს იმავე სერვისს

დაიწყეთ სიით და არა აპლიკაციით. scutil --nc list ბეჭდავს თითოეულ შენახულ სერვისს მისი სტატუსითა და ზუსტი საჩვენებელი სახელით, და სწორედ ეს სტრიქონი უნდა ჩასვათ ბრჭყალებში ბრძანებაში:

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

ეს სტრიქონი გააქტიურების მოთხოვნაა. ის უბრუნდება მაშინვე, როცა მოთხოვნა მიღებულია; ის არ ელოდება მეორე ფაქტორს, არ აცნობებს, რომ კერძო DNS დაყენებულია და არ ადასტურებს, რომ ფაილების სერვერი პასუხობს. მოეპყარით მას როგორც იმავე დაწკაპუნებას, რომელსაც მენიუში გააკეთებდით, მხოლოდ მენიუს გარეშე.

scutil-ში ასევე არ არის გადამრთველი. დაკავშირებისა და გათიშვის ცალკეული ქმედებები უფრო ადვილად გააზრებადია, ვიდრე ერთი ღილაკი, რომელიც მდგომარეობას აბრუნებს, რადგან ხელის ჩამორთმევის დროს დაჭერილმა ბრუნვამ შეიძლება შეაჩეროს კავშირი, რომელიც არასდროს ასულა ბოლომდე. თუ ერთი ღილაკი გსურთ, განტოტეთ scutil --nc status "Office VPN"-ის გამოსავალზე და გადაწყვიტეთ ცალსახად; ბრმად ნუ მონაცვლეობთ.

Shortcuts: ერთი ღილაკი თითო ქმედებაზე, ნებართვის უფრო ფართო ზედაპირი

  1. შექმენით ლოკალური მალსახმობი Shortcuts-ში და დაარქვით მას დავალების მიხედვით, მაგალითად Connect Office VPN.

  2. დაამატეთ Run Shell Script და ჩასვით გაშვების მოთხოვნა, სერვისის სახელი სიტყვასიტყვით აკრეფილი, ბუფერიდან ან მონიშნული ტექსტიდან აღებულის ნაცვლად.

  3. გაუშვით ის ერთხელ რედაქტორიდან თქვენსავე შესული სესიაში და დაასრულეთ ჩვეულებრივი აუთენტიფიკაციის ნაკადი, რომ სისტემამ საჭირო ნებართვა ჩაიწეროს.

  4. გახსენით მალსახმობის დეტალები და მიაბით კომბინაცია Add Keyboard Shortcut-ით. Apple ამ მიბმას აღწერს თავის Shortcuts-ის მომხმარებლის სახელმძღვანელოში; სისტემის მიერ უკვე დაცული კომბინაციების წართმევა შეუძლებელია.

მიბმა მოგზაურობს მალსახმობთან ერთად, ამიტომ ერთი ქმედება დამატებითი სამუშაოს გარეშე შეიძლება იჯდეს მენიუს ზოლში ან Dock-ში. ფასი მეორე ნებართვაა: Shortcuts არ გაუშვებს shell სკრიპტს, სანამ მის პარამეტრებში სკრიპტირება დაშვებული არ იქნება, ხოლო მართვად Mac-ზე ეს პარამეტრი შეიძლება პოლიტიკით ჩაკეტილი იყოს. დაუშვით ეს იმ მალსახმობებისთვის, რომლებიც თქვენ დაწერეთ ან წაიკითხეთ, და არა გაურკვეველი შიგთავსის იმპორტირებული ფაილისთვის.

სინქრონიზაცია მეორე ხაფანგია. სხვა Mac-იდან კოპირებული მალსახმობა კვლავ ატარებს იმ Mac-ის სიტყვასიტყვით სერვისის სახელს. მანქანაზე, სადაც სერვისს სხვანაირად ჰქვია, ღილაკი ირთვება, სკრიპტი გამოდის და არაფერი გეუბნებათ რატომ.

Automator: ნაკლები მოძრავი ნაწილი, ღილაკი, რომელიც უნდა მოძებნოთ

  1. Automator-ში აირჩიეთ Quick Action, დააყენეთ სამუშაო ნაკადი ისე, რომ არცერთ აპლიკაციაში არ მიიღოს შეყვანა, და დაამატეთ Run Shell Script იმავე ბრძანებით, გარსი /bin/zsh.

  2. შეინახეთ ის სახელით, რომელსაც სიაში ამოიცნობთ, რადგან სწორედ ამ სახელს მოძებნით მოგვიანებით.

  3. გახსენით სისტემის პარამეტრები, შემდეგ კლავიატურა, შემდეგ კლავიატურის მალსახმობები, შემდეგ სერვისები. იპოვეთ სამუშაო ნაკადი, მონიშნეთ თუ არ არის მონიშნული და ჩაწერეთ კომბინაცია.

სამუშაო ნაკადი იძახება როგორც სერვისი, ამიტომ ღილაკი ცხოვრობს სერვისების ცხრილში და დამოკიდებულია სამუშაო ნაკადის სახელზე. თუ მოგვიანებით გადაარქმევთ შენახულ სამუშაო ნაკადს, ღირს იმ პანელის ხელახლა გახსნა და დადასტურება, რომ დანიშვნა გადაურჩა. სერვისის მალსახმობი გლობალურია, რაც მოსახერხებელია მანამ, სანამ ის არ დაეჯახება კომბინაციას, რომელიც სხვა აპლიკაციას სურს.

რას იგებთ, ეს არის უფრო პატარა არტეფაქტი და ერთი ნებართვის მოთხოვნით ნაკლები: ჩვეულებრივი სამუშაო ნაკადის ფაილი, საკუთარი მენიუს ზოლის ჩანაწერის გარეშე, განსახილველი სკრიპტირების გადამრთველის გარეშე. რას კარგავთ, ეს არის პოვნადობა, რადგან ქმედება სერვისების სიაში ჩნდება მხოლოდ მას შემდეგ, რაც სამუშაო ნაკადი შენახულია და სისტემამ ერთხელ ნახა.

სად იშლებიან ისინი, როცა ღილაკი არაფერს აკეთებს

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

ცხრილი განზრახ მრუდეა: მისი ხუთი სტრიქონიდან ორში შესწორება ნამდვილად სხვაა. წარუმატებელი დაჭერების უმეტესობა იმავე წყვილ ხარვეზს მიდის, სახელს, რომელიც არ ემთხვევა შენახულ სერვისს, და მოთხოვნას, რომელიც დასრულებულ კავშირად მიიღება, და ხელსაწყოს შეცვლა არც ერთს არ კურნავს.

ორივე გზა ასევე უარს ამბობს სერტიფიკატების შენახვაზე. ღილაკთა კომბინაცია ვერ აქცევს ინტერაქტიულ შესვლას ზედამხედველობის გარეშე შესვლად, და პაროლის სკრიპტში ჩასმა უარესი იდეაა, ვიდრე მისი დღეში ერთხელ აკრეფა.

აირჩიეთ ამ სამი პირობის მიხედვით

აირჩიეთ Shortcuts, როცა გსურთ ერთი ღილაკი თითო ქმედებაზე პლუს წვდომა მენიუს ზოლიდან, და როცა სკრიპტირება მანქანაზე უკვე დაშვებულია. აირჩიეთ Automator, როცა გსურთ ერთი ფაილი Mac-ებს შორის კოპირებისთვის და არავითარი დამატებითი გადამრთველი. თუ თქვენი ორგანიზაცია ჩაკეტავს Shortcuts-ში სკრიპტირებას, Quick Action ორიდან ერთადერთია, რომელიც იმუშავებს პოლიტიკის ცვლილების გარეშე, და ეს წყვეტს კითხვას თქვენ ნაცვლად.

სანამ ღილაკს დაეყრდნობით, გაიარეთ ეს სია: დაადასტურეთ სერვისი scutil --nc list-ში; დააჭირეთ ღილაკს ცივი გაშვებიდან და დააკვირდით scutil --nc status-ს; გახსენით რესურსი, რომლისთვისაც გვირაბი არსებობს; და შექმენით ცალკე, მკაფიოდ დასახელებული გათიშვის ქმედება. არ მოათავსოთ ერთადერთი გაჩერების ქმედება დისტანციურ სესიაზე, რომელზეც მისასვლელად გვირაბი დაგჭირდებოდათ.

შემდეგი ნაბიჯი: მიაბით მხოლოდ Connect, დატოვეთ Disconnect ერთი დღით მიუბმელი და აღნიშნეთ, რამდენად ხშირად მაინც მიმართავთ მენიუს. ეს გეტყვით, ზოგავს თუ არა დაჭერა დროს თუ უბრალოდ მალავს მდგომარეობას.

დაკავშირებული სტატიები