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
.