Come posso "dire" a un altro Mac?

19

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

Vorrei utilizzare l'utilità della riga di comando say 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 l'iMac.

Questo può essere fatto?

    
posta cbmeeks 17.04.2011 - 23:45
fonte

3 risposte

26

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

Prima di tutto, devi attivare Remote Login sul Mac in cui vuoi che venga emesso il suono.

Vai a System Preferences > Sharing e seleziona la casella di controllo Remote Login . Quindi, usando il computer, apri Terminale e digita questo

ssh <user>@<computer name.local>

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

Ora, è come se avessi Terminale aperto sul computer di tua moglie e puoi say come preferisci.

    
risposta data 18.04.2011 - 00:10
fonte
20

Oltre a utilizzare ssh per eseguire comandi sull'host remoto, puoi utilizzare Eventi Apple Remote, che hanno anche un comando say , così come altri che potrebbero esserti utili, come display alert .

Sul computer di destinazione, abilita:

System Preferences > Sharing > Remote Apple Events

Quindi dalla tua macchina esegui il seguente script (in AppleScript Editor o tramite osascript in Terminale):

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

Ti chiederà di autenticarti quando lo compili o lo esegui. Se lo fai in AppleScript Editor, ricorderà l'autenticazione finché lascerai aperto AppleScript Editor, quindi non dovrai autenticarti ogni volta che lo esegui. (La finestra di autenticazione ha anche un'opzione per salvare le tue credenziali sul portachiavi per evitare di essere ripetutamente infastidito.)

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

Potresti anche visualizzare un messaggio accedendo al computer remoto con ssh † ed eseguendo questo comando nella shell remota (questo non fa uso di Remote Apple Events, solo Login 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 comando say avvia il discorso in modo asincrono, quindi porta gli eventi di sistema in primo piano per visualizzare il messaggio mentre è in riproduzione la voce.

† I comandi che visualizzano l'interfaccia utente, come display alert e display dialog , non sono consentiti tramite eventi Apple Remote. Per inviarli a un processo su una macchina remota, devi prima passare attraverso ssh .

    
risposta data 09.09.2011 - 03:49
fonte
1

Ancora una volta, niente ti impedisce di usare Remote Desktop o Screen Sharing, che è integrato in OSX, e di effettuare il login come un normale utente, saltando il terminale.

Quindi puoi usare say normalmente. Oppure ci sono molte app che fanno il text to speech.

    
risposta data 01.04.2012 - 04:08
fonte

Leggi altre domande sui tag