Mam MacBooka Air. Często korzystam z klienta RDP firmy Microsoft, aby połączyć się z wirtualną stacją roboczą. Potrzebuję tej sesji RDP, aby została automatycznie zamknięta (zamknij RDP), gdy zamknę pokrywę, zanim OS X przejdzie w stan uśpienia.
Jak można osiągnąć tę funkcjonalność?
Odpowiedzi:
Istnieje kilka narzędzi, które pozwalają przechwycić zmiany statusu zasilania OS X:
Instalacja Sleep Watcher
Spróbujmy tego z Sleep Watcher. Pobierz narzędzie ze strony domowej Bernharda Baehra i postępuj zgodnie z instrukcjami instalacji: zakładając, że rozpakowałeś plik do swojego pulpitu, wywołaj następujące polecenia z okna terminala:
Spowoduje to zainstalowanie
sleepwatcher
binarne i strony podręcznika. Zostaniesz poproszony o hasło administratora.Tworzenie skryptu uśpienia
Teraz stwórzmy skrypt uśpienia o nazwie
~/.sleep
. Będzie on zawierał polecenia uruchamiane, gdy maszyna zostanie uśpiona (tj. Po zamknięciu pokrywy).W tym pliku dodaj następujące informacje:
Spowoduje to zamknięcie aplikacji Microsoft RDP za pomocą poleceń AppleScript. Możesz to zrobić za pomocą dowolnej aplikacji, o ile zmienisz nazwę zgodnie z jej tytułem. Zapisz plik. Teraz musimy go wykonać:
Testowanie skryptu uśpienia
Teraz przetestuj swój skrypt, uruchamiając najpierw program RDP, a następnie uruchamiając następujące polecenie w Terminalu:
To niczego nie wyświetli, więc pozostaw oba programy RDP i Sleep Watcher, a następnie zamknij pokrywę MacBooka. Poczekaj kilka sekund, aż naprawdę pójdzie spać. Potem obudź go ponownie. Czy RDP się zamknął? Świetny! Czy coś poszło nie tak? Spójrz na wyjście
sleepwatcher
polecenie, aby uzyskać podpowiedź, gdzie nie powiodło się.Możesz teraz anulować obserwator uśpienia, naciskając Ctrl do w Terminalu.
Uruchamianie skryptu w tle
Aby cały czas działać Śpiący Obserwator, musisz uczynić go LaunchDaemonem. Utwórz nowy plik konfiguracyjny, kopiując przykładową konfigurację i
rc
-listy.Teraz załaduj pliki konfiguracyjne za pomocą
launchd
:To wszystko czego potrzebujesz. Teraz
.sleep
plik będzie zawsze wykonywany przy każdym uśpieniu komputera Mac.źródło
osascript -e 'tell application "Remote Desktop Connection" to quit'