Además de usar ssh
para ejecutar comandos en el host remoto, puede usar Eventos remotos de Apple, que también tienen un comando say
, así como otros que pueden serle útiles, como display alert
.
En la máquina de destino, habilita:
Preferencias del sistema > Compartiendo > Eventos remotos de Apple
Luego, desde su máquina, ejecute el siguiente script (en el Editor de AppleScript o mediante osascript
en la Terminal):
tell application "Finder" of machine "eppc://machine-name.local"
say "Hello"
end tell
Le pedirá que se autentique cuando compile o ejecute esto. Si lo hace en el Editor de AppleScript, recordará la autenticación siempre que deje el Editor de AppleScript abierto, por lo que no tendrá que autenticarse cada vez que lo ejecute. (El cuadro de diálogo de autenticación también tiene una opción para guardar sus credenciales en el llavero para evitar ser molestado repetidamente).
Puede hacerlo desde la línea de comandos en la Terminal con:
osascript -e 'tell application "Finder" of machine "eppc://machine-name.local" to say "Hello"'
Cómo mostrar un mensaje en una máquina remota
También puede mostrar un mensaje iniciando sesión en la máquina remota con ssh
† y ejecutando este comando en el shell remoto (esto no hace uso de Apple Remote Events, solo inicio de sesión remoto para ssh
):
osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'
El comando say
inicia el discurso de forma asíncrona, luego esto hace que los Eventos del Sistema aparezcan al frente para mostrar el mensaje mientras se está reproduciendo el discurso.
† Los comandos que muestran la IU, como display alert
y display dialog
, no están permitidos a través de Apple Remote Events. Para enviarlos a un proceso en una máquina remota, primero debe pasar por ssh
.