Come posso "dire" a un altro Mac?


19

Ho due Mac a casa nostra (iMac e MacBook Pro).

Vorrei usare l' sayutilità della riga di comando per digitare qualcosa sul mio MBP e farlo parlare su iMac, piuttosto come un sistema di interfono.

Inoltre, potrebbe essere divertente inviare messaggi a mia moglie mentre sta usando iMac.

Può essere fatto?


2
Correlati: XKCD 530 xkcd.com/530
Andrew Grimm il

Risposte:


26

Dato che i due Mac sono nella stessa casa, presumo che siano entrambi sulla stessa rete.

Prima di tutto, devi attivare Remote Loginsul Mac dove desideri che l'audio venga riprodotto.

Vai a System Preferences > Sharinge seleziona la Remote Logincasella di controllo. Quindi, usando il tuo computer, apri Terminale e digita questo

ssh <user>@<computer name.local>

Dov'è <user>il login di tua moglie ed <computer name>è il nome dell'altro computer.

Ora, è come se avessi Terminal aperto sul computer di tua moglie e puoi fare sayquello che vuoi.


dice Evento non trovato
cbmeeks

@cbmeeks quando? qual è l'ultimo comando che hai fatto?
Loïc Wolff,

non importa. Ho sbagliato funziona alla grande! lol thanks
cbmeeks,

2
L'ho già fatto prima, quando scrivevo a fianco di un amico, un'ottima risposta!
Moshe,

2
È possibile combinare i comandi in un'unica riga:ssh user@hostname 'say hello'
willWorkForCookies

20

Oltre a utilizzare sshper eseguire comandi sull'host remoto, puoi utilizzare Eventi Apple remoti, che hanno anche un saycomando, così come altri che potrebbero esserti utili, come display alert.

Sul computer di destinazione, abilitare:

Preferenze di Sistema> Condivisione> Eventi Apple remoti

Quindi dal tuo computer esegui il seguente script (in AppleScript Editor o tramite osascriptin Terminale):

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

Ti verrà chiesto di autenticarti quando compili o esegui questo. Se lo fai in AppleScript Editor, ricorderà l'autenticazione fintanto che lasci aperto AppleScript Editor, quindi non dovrai autenticarti ogni volta che esegui questo. (La finestra di dialogo di autenticazione ha anche un'opzione per salvare le tue credenziali sul Portachiavi per evitare di essere ripetutamente infastidita.)

Puoi farlo dalla riga di comando in Terminale con:

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

Come visualizzare un messaggio su una macchina remota

Puoi anche visualizzare un messaggio accedendo al computer remoto con ssh† ed eseguendo questo comando nella shell remota (questo non fa uso di Eventi Apple remoti, ma solo Accesso remoto per ssh):

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

Il saycomando avvia il discorso in modo asincrono, quindi questo porta in primo piano gli Eventi di sistema per visualizzare il messaggio mentre il discorso è in riproduzione.

† I comandi che visualizzano l'interfaccia utente, come display alerte display dialog, non sono consentiti tramite eventi Apple remoti. Per inviarli a un processo su un computer remoto, è necessario prima passare ssh.


1

In alternativa, di nuovo, nulla ti impedisce di utilizzare Desktop remoto o Condivisione schermo, integrato in OSX, e di accedere come un normale utente, saltando il terminale.

Quindi puoi usare dire normalmente. Oppure ci sono molte app che fanno sintesi vocale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.