Apple Remote Desktop ma funkcję „kurtyny”, za pomocą której klient zdalny może zablokować ekran komputera Mac, który jest zdalnie sterowany. Używam tego, gdy łączę się z moim komputerem Mac z mojego domowego komputera Mac. Mój komputer Mac wyświetla dużą ikonę kłódki i komunikat, a ja zdalnie kontroluję go z mojego domowego komputera Mac za pomocą Apple Remote Desktop (ARD).
Niestety istnieje błąd, który powoduje, że ekran zdalnego komputera Mac pozostaje zablokowany, nawet po jego odłączeniu. (Najnowsze ARD i OS X 10.8.2 na obu komputerach). Kiedy tak się dzieje, przychodzę do pracy następnego dnia, aby znaleźć dużą ikonę blokady i komunikat na ekranie mojego Maca. Mimo że jestem fizycznie obecny przed komputerem Mac, nie mogę znaleźć sposobu na odblokowanie ekranu.
Zwykle próbuję ssh
na komputerze Mac z innej maszyny i zabijam procesy. Próbowałem zabić ARDAgent
proces, proces blokady ekranu (nie pamiętam nazwy) i cokolwiek innego, co mogę znaleźć z „ard” lub „remote” w nazwie procesu. Wydaje się, że żadna z tych rzeczy nie odblokowuje ekranu. W końcu uciekam się do tego, osascript -e ...
by powiedzieć wszystkim moim działającym aplikacjom, aby z wdziękiem zakończyły pracę, a następnie uruchomiłem, shutdown -r now
aby ponownie uruchomić komputer.
Moje pytanie: czy istnieje sposób na skuteczne odblokowanie komputera Mac, który utknął na ekranie blokady ARD, przy użyciu ssh
lub w inny sposób?
Jeden ze sposobów na odtworzenie tego: Zaloguj się na docelowym komputerze Mac za pomocą Pulpitu zdalnego, zainicjuj tryb kurtyny, a następnie po zakończeniu wszelkich prac, które należy wykonać, wyloguj użytkownika na docelowym komputerze Mac, pozostając w trybie kurtyny. Spowoduje to, że komputer Mac stanie się niedostępny dla aplikacji Pulpit zdalny, a nawet fizyczny użytkownik komputera, a duża ikona kłódki pozostanie na ekranie docelowego komputera Mac.
Nie jestem pewien, co robię, aby wywołać tę sytuację, ale zdecydowanie nie wylogowuję się. Tak czy inaczej, wydaje się, że rozwiązanie powinno być takie samo.
źródło
Odpowiedzi:
Nie mam komputera Mac z ARD, aby to przetestować, ale to narzędzie słoneczne sugeruje, że może rozwiązać problem. Po szybkim spojrzeniu na kod źródłowy, po prostu wysyła komunikat CFNotificationCenter, aby wyjść z trybu kurtyny.
Nie jestem pewien, czy istnieje sposób na przyłączenie się do procesu wylogowania ARD, aby uruchomić go za każdym razem, gdy rozłączasz sesję, ale przynajmniej możesz go uruchomić za pośrednictwem SSH, jeśli to konieczne.
źródło
Najszybszym rozwiązaniem, jakie znalazłem, jest nawiązanie połączenia SSH z kontem administratora na zablokowanym komputerze zdalnym.
Rodzaj:
ps -ax | grep AppleVNCServer
Chcesz linii, która czyta coś takiego
Zanotuj PID po lewej stronie tego.
następnie wprowadź:
Wymusi to ponowne uruchomienie ekranu blokady i ponowne udostępnienie.
Wiem, że to tak, jak wyjaśniono powyżej. Odbywa się to również na dwóch komputerach 10.8.2 z ARD 3.6.1.
źródło
Co do tego jest warte, jest to znany błąd w ARD i najwyraźniej istnieje już od jakiegoś czasu. Ten Apple KB ma artykuł na ten temat, ale nie ma sugestii, jak to naprawić. http://support.apple.com/kb/TS2401
Kluczowa część dokumentu:
źródło
OK, nie mogę komentować używania ARD, nie mam go, ale może to być odpowiednie obejście, przynajmniej w międzyczasie.
Korzystając z normalnego udostępniania ekranu, możesz użyć wyświetlacza sprzętowego lub wirtualnego. Było to łatwe w użyciu w wersji 10.7, ale zostało zaciemnione raczej w wersji 10.8, a polecenie menu do przełączania wyświetlaczy zniknęło.
Aby skorzystać z wirtualnego wyświetlacza, oto, co musisz zrobić. Po pierwsze, poproś innego użytkownika niż normalny, który ma odpowiednie opcje udostępniania ekranu, a następnie zaloguj się:
Nie jest to idealne, musisz upewnić się, że Twój drugi użytkownik ma odpowiednie prawa dostępu do plików i taki, że może być konieczne uzyskanie dostępu, lub może być konieczne zastosowanie niezręcznej praktyki opuszczania drugiego użytkownika (lub „fikcyjnego”) zalogowany, gdy wychodzisz z biurka, co pozwala ci używać swojego głównego identyfikatora do udostępniania ekranu, ale może to pomóc.
źródło
Apple podaje przykład pisania skryptów na ekranie blokady w rozdziale 9 Przewodnika administratora ARD .
Być może ten skrypt na stronie 174 mógłby zostać skrócony, aby wysłać sekwencję odblokowującą:
źródło
Nie mogę odtworzyć dokładnej konfiguracji, ponieważ obecnie nie mam drugiego komputera z systemem 10.8.2 i 3.6.1, ale oto, co próbowałem:
Z mojego administracyjnego Maca 10.8.2 / 3.6.1 zablokowałem ekran na moim kliencie 10.6.8, wylogowałem się z klienta i odtworzyłem usterkę blokującą ekran. Zostałem odłączony od sesji ARD, a klient pozostał z ikoną ekranu blokady. Połączyłem się z klientem i po spróbowaniu trochę miłości z „kickstartu” uruchomiłem listę launchctl, która ujawniła zadanie „LockScreen”. Zabicie go bez wydania sygnału nie przyniosło żadnego efektu, ale wysłanie go -9 usunęło ikonę blokady z ekranu i po kilku sekundach załadowano okno logowania. Będziesz musiał wypróbować go w swoich warunkach, aby sprawdzić, czy ta sama technika działa na zablokowanym komputerze 10.8.2 / 3.6.1 i gdy problem jest spowodowany przez coś innego niż wylogowanie użytkownika.
źródło
Jeśli korzystasz z El Capitan, powyższe instrukcje dotyczące zabicia ekranu blokady nie będą działać. Jest pewien proces, który go uruchamia i nie mogłem go znaleźć
launchctl list
. Próbowałem również zamknąć ARD poprzez mójssh
login, ale to też nie zadziałało. Najwyraźniej LockScreen.app i ARD są oddzielonymi procesami lub coś w tym rodzaju. Skończyło się na tym, że muszęshutdown -r now
wymusić restart. Jestem bardzo wkurzony, że Apple nie naprawił tego błędu ani nie przedstawił obejścia, które, wiesz, faktycznie działa PO tym fakcie.źródło
W aplikacji Pulpit zdalny otwórz listę systemową i zaznacz zdalne urządzenie, które ma status „Zablokowany ekran”. Rozwiń menu Interact i wybierz „Odblokuj ekran ...”
Natychmiast zobaczysz zmianę stanu systemu z „Zablokowanego ekranu” na „Dostępne”. Następnie możesz zainicjować nowe połączenie w trybie kurtyny.
źródło