Wysyłasz klucz przez ssh lub za pomocą myszy, aby aktywować docelowy tryb wyświetlania?

11

Czy można wysłać naciśnięcie klawisza przez SSH? Chcę móc wysyłać ⌘ (CMD)+ F2przez ssh z / do Mac OS X. Jeśli nie jest to możliwe, rozwiązanie myszy również byłoby dobre.

Potrzebuję tego, ponieważ mam tylko jedną klawiaturę (ale dwie myszy). Używam mojego iMaca jako wyświetlacza zewnętrznego. Aby aktywować docelowy tryb wyświetlania na iMacu, muszę za każdym razem podłączać klawiaturę Bluetooth, naciśnij CMD+ F2, a następnie spróbuj połączyć laptopa z klawiaturą.

Wysyłanie CMD+ F2przez ssh lub używanie myszy na oryginalnym komputerze iMac pozwoliłoby mi zaoszczędzić mnóstwo kłopotów!

iDev247
źródło

Odpowiedzi:

3

Nie przetestowano, ale mogę rozważyć utworzenie skryptu jabłkowego w ~ / bin / command_f2 na iMacu z następującą zawartością:

poinstruuj aplikację „Zdarzenia systemowe”, aby nacisnęła klawisz „F2” za pomocą {polecenie w dół}

a następnie z laptopa typu:

ssh me @ imac '~ / bin / command_f2'

Aby uzyskać więcej pomocy z tym pytaniem, rozważ zmianę tytułu na „Wysyłanie naciśnięć klawiszy przez ssh”, ponieważ „klucze” mogą oznaczać pomylone z klawiszami ssh.

Powodzenia.

John Schmitt
źródło
1
Na właściwej ścieżce. Próbowałem osascript -e 'tell application "System Events" to key code 120 using command down';. Ogólnie działa i może wysyłać klucze, ale jeśli chodzi o CMD + F2, nie działa / nie włącza trybu wyświetlania docelowego. Czy polecenie jest prawidłowe? Czy istnieje inny sposób włączenia trybu wyświetlania docelowego za pomocą myszy lub polecenia? Znaleziono tutaj kluczowe kody
iDev247
Byłem w stanie to zrobić za pomocą keyboardmaestro.com/main ... Zastanawiam się, co wysyła jako polecenie, aby działało.
iDev247
Nie mam klawiatury Apple, czy możesz udostępnić swoje makro, jeśli to możliwe? Nagrywanie Cmd-F2 przy użyciu mojego pliku nie przełącza się.
Florian Doyon
15

Przepraszamy, John Schmitt, Twoje niesprawdzone rozwiązanie nie działa, ale byłeś na dobrej drodze. Ten jest przetestowany i działa.

Prawidłowe polecenie to (jeśli osadzasz Applescripts w skryptach powłoki, tak wolę to robić):

osascript -e 'tell application "System Events" to key code 144 using command down'

Zapisz to na przykład jako ~ / bin / tdm.sh na docelowym komputerze wyświetlającym.

Następnie z poziomu głównego komputera wydaj to w Terminalu:

ssh username@target-display-machine "~/bin/tdm.sh"

Istnieją inne sposoby zapisywania i wywoływania polecenia Applescript. Uważam, że wygodniejsze i spójniejsze jest osadzanie ich w skryptach powłoki - moje szczególne preferencje, ponieważ i tak robię wiele skryptów powłoki.

Jose
źródło
1
To nie działa dla mnie na 27-calowym komputerze iMac, który wczoraj z radością wchodził do TDM przez cmd-f2 na prawdziwej klawiaturze Apple, ale już go nie ma. Ktoś wie, jak mogę go wymusić z oprogramowania? wcale nie potrzebuję / nie chcę uruchamiać MacOS na tym komputerze
Robert Atkins
1
Działa to dla mnie, ale tylko wtedy, gdy fizyczna klawiatura jest do niego podłączona przez USB lub bluetooth. Czy bez tego nie da się tego zrobić?
Vivek VK,
To również może być nie przetestowane, ponieważ to nie działa.
hmedia1
@VivekVK To możliwe. Dowodem koncepcji jest to, że można to zrobić za pomocą klawiatury ułatwień dostępu (bez rzeczywistej klawiatury podłączonej), więc interfejsy API są tam ... gdzieś
hmedia1
nie działa dla mnie
wukong
0

Mam ten skrypt na moim „wyświetlanym” komputerze iMac i po prostu udostępniam zrzut ekranu z urządzenia przenośnego, aby go kliknąć i uruchomić. Jeśli iMac jest zablokowany, korzystam z Pulpitu zdalnego, aby go odblokować. Jestem pewien, że istnieje bardziej wydajny sposób, ale jest to bardzo łatwe ...

tell application "System Events"
    key code 144 using {command down}
end tell
David
źródło