Jak mogę „powiedzieć” innemu komputerowi Mac?


19

Mam dwa komputery Mac w naszym domu (iMac i MacBook Pro).

Chciałbym użyć saynarzędzia wiersza polecenia, aby wpisać coś na moim MBP i pozwolić mu mówić na komputerze iMac, a nie jak w systemie domofonowym.

Ponadto wysyłanie wiadomości do mojej żony podczas korzystania z komputera iMac może być zabawne.

Czy można to zrobić?


2
Powiązane: XKCD 530 xkcd.com/530
Andrew Grimm,

Odpowiedzi:


26

Ponieważ dwa komputery Mac są w tym samym domu, zakładam, że oba są w tej samej sieci.

Przede wszystkim musisz aktywować Remote Loginna komputerze Mac, w którym chcesz, aby dźwięk był słyszalny.

Przejdź do System Preferences > Sharingi zaznacz pole Remote Loginwyboru. Następnie za pomocą komputera otwórz Terminal i wpisz to

ssh <user>@<computer name.local>

Gdzie <user>jest login twojej żony i <computer name>nazwa drugiego komputera.

Teraz wygląda to tak, jakbyś miał terminal otwarty na komputerze swojej żony i możesz sayrobić, co chcesz.


napisano: Nie znaleziono wydarzenia
cbmeeks,

@cbmeeks kiedy? jakie jest twoje ostatnie polecenie?
Loïc Wolff

nieważne. Zrobiłem to źle. działa świetnie! lol dzięki
cbmeeks

2
Robiłem to już wcześniej, kiedy kodowałem razem z przyjacielem, świetna odpowiedź!
Moshe

2
Możesz łączyć polecenia w jedną linię:ssh user@hostname 'say hello'
willWorkForCookies

20

Oprócz używania sshdo uruchamiania poleceń na zdalnym hoście, możesz używać Zdalnych zdarzeń Apple, które również mają saypolecenie, a także inne, które mogą być dla Ciebie przydatne, np display alert.

Na komputerze docelowym włącz:

Preferencje systemowe> Udostępnianie> Zdalne zdarzenia Apple

Następnie z poziomu komputera uruchom następujący skrypt (w AppleScript Editor lub przez osascriptTerminal):

tell application "Finder" of machine "eppc://machine-name.local"
    say "Hello"
end tell

Poprosi Cię o uwierzytelnienie podczas kompilacji lub uruchomienia. Jeśli zrobisz to w programie AppleScript Editor, zapamięta uwierzytelnianie, dopóki program AppleScript Editor pozostanie otwarty, więc nie będziesz musiał uwierzytelniać się przy każdym uruchomieniu. (Okno dialogowe uwierzytelniania ma również opcję zapisania poświadczeń w pęku kluczy, aby uniknąć wielokrotnego atakowania).

Możesz to zrobić z wiersza polecenia w terminalu za pomocą:

osascript -e 'tell application "Finder" of machine "eppc://machine-name.local" to say "Hello"'

Jak wyświetlić wiadomość na zdalnym komputerze

Możesz także wyświetlić komunikat, logując się na zdalnym komputerze za pomocą ssh† i uruchamiając to polecenie w zdalnej powłoce (nie używa to Zdalnych zdarzeń Apple, tylko Zdalne logowanie dla ssh):

osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'

sayKomenda rozpoczyna mowę asynchronicznie, to przynosi Zdarzenia systemowe do przodu, aby wyświetlić wiadomość, gdy mowa jest odtwarzany.

† Polecenia wyświetlające interfejs użytkownika, takie jak display alerti display dialog, nie są dozwolone przez Zdalne zdarzenia Apple. Aby wysłać je do procesu na zdalnym komputerze, musisz najpierw przejść ssh.


1

Alternatywnie, nic nie stoi na przeszkodzie, abyś używał Pulpitu zdalnego lub ekranu, który jest wbudowany w OSX, i logował się jako zwykły użytkownik, pomijając terminal.

Następnie możesz użyć powiedzieć normalnie. Lub istnieje wiele aplikacji przetwarzających tekst na mowę.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.