Sprawdź status zdalnego zarządzania przez terminal

2

Muszę mieć możliwość SSH na komputerze Mac (Mountain Lion) i sprawdzić, czy ARD działa, a jeśli tak, jakie są ustawienia. Zasadniczo potrzebuję odpowiednika przejścia do Preferencji systemowych -> Udostępnianie -> Zdalne zarządzanie i wizualną kontrolę ustawionych tam opcji. Ale potrzebuję go na terminalu, aby móc to zrobić za pośrednictwem SSH.

Uwaga: nie pytam, jak ustawić te opcje (np. Poprzez plik wykonywalny ARD „kickstart”), pytam, jak po uruchomieniu określić, pod jakimi opcjami działa.

ps -axlww | grep ARDpokazuje tylko /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgentbez pokazanych flag.

Czy istnieje plik plist, w którym jest on przechowywany? Do tej pory sprawdziłem ...

/Library/Preferences/com.apple.ARDAgent.plist
/Library/Preferences/com.apple.RemoteManagement.plist

... i podobne pliki w katalogu użytkownika ~/Library/Preferences/i wydaje się, że nie zawierają one nic użytecznego.

Dave
źródło

Odpowiedzi:

2

Możesz sprawdzić, czy jest włączony, uruchamiając launchctl list | grep '^\d.*RemoteDesktop.*'. Spowoduje to wyświetlenie wiersza, jeśli RemoteDesktopagent ma aktywny proces , i nie wyświetli niczego, jeśli nie. Agent ma aktywny proces za każdym razem, gdy włączone jest Zdalne zarządzanie, nawet jeśli nie ma aktywnego połączenia (w przeciwieństwie do czegoś takiego jak Udostępnianie ekranu, gdzie proces jest aktywny tylko wtedy, gdy nawiązane jest połączenie).

robmathers
źródło
Nie zapewnia mi to jednak opcji, pod którymi jest uruchamiany. Czy istnieje sposób, aby to znaleźć?
Dave
O ile mi wiadomo. W Pulpicie zdalnym Apple mogą znajdować się narzędzia wiersza polecenia, które mogą to zrobić, ale nie znam w ten czy inny sposób.
robmathers
Ya. Nadal szukam tego. Zastanawiam się, czy AppleScript / Objective-C jest w tej chwili najlepszą drogą do wyboru.
Dave
Chociaż to nie rozwiązuje problemu OP, było to dla mnie przydatne - dziękuję!
2rs2ts
1

Mam dla ciebie możliwe rozwiązanie, mówię „możliwe”, ponieważ nie jest zbyt wiarygodne (wcześniej zadałem pytanie ).

Jeszcze jedno, musisz „Umożliwić dostęp dla urządzeń pomocniczych”, nie wiem dlaczego. Oto AppleScript:

tell application "System Preferences"
        reveal pane "com.apple.preferences.sharing"
end tell

tell application "System Events"
        set SSCBrow to 2        -- Set to the row corresponding to Screen Sharing
        tell process "System Preferences"
                set screen_sharing_toggle to value of (checkbox 1 of row SSCBrow of table 1 of scroll area 1 of group 1 of window 1) as boolean
        end tell
end tell

tell application "System Preferences"
        Quit
end tell

set newvar to screen_sharing_toggle

Jeśli zapiszesz to, powiedzmy, checkScrShrmożesz uruchomić go z wiersza poleceń jako:

osascript checkScrShr

Będzie echem „prawda”, jeśli udostępnianie ekranu jest włączone, „fałsz”, jeśli nie jest.

Philip Kearns
źródło
Czy przez „niewiarygodne” rozumiesz, że występują sporadyczne awarie skryptu?
Dave
Zgadza się: albo powie poprawnie, czy działa udostępnianie ekranu, albo zwróci błąd. Jeszcze jedno: skrypt mówi wiersz 2, upewnij się, że wiersz 2 to miejsce, w którym udostępnianie ekranu znajduje się w okienku Udostępnianie.
Philip Kearns,
@Dave Zaktualizowałem kod, aby był bardziej przejrzysty
Philip Kearns
Dzięki. Z mojego doświadczenia wynika, że ​​istnieje ogólny problem z nowym modelem bezpieczeństwa OS X i AppleScript. W zależności od warunków poza środowiskiem terminalowym, AppleScript może, ale nie musi, działać poprawnie, fałszywie narzekając na błędy składniowe i tak dalej. Zła inżynieria wydania ze strony Apple i wciąż nie znalazłem rozwiązania.
Dave
Wracając do głównego problemu, szukam jednak sposobu na określenie nie tylko tego, czy działa, ale z jaką konfiguracją działa. Dziękuję za twój przykład AppleScript, jednak może on stanowić potencjalną szansę.
Dave