Además de usar ssh
para ejecutar comandos en el host remoto, puede usar Remote Apple Events, que también tiene un say
comando, así como otros que pueden serle útiles, como display alert
.
En la máquina de destino, habilite:
Preferencias del sistema> Compartir> Eventos remotos de Apple
Luego, desde su máquina, ejecute el siguiente script (en AppleScript Editor, o vía osascript
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 AppleScript Editor, recordará la autenticación siempre que deje abierto AppleScript Editor, por lo que no tendrá que autenticarse cada vez que ejecute esto. (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 Remote Apple Events, solo Remote Login para ssh
):
osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'
El say
comando inicia el discurso de forma asincrónica, luego esto lleva los eventos del sistema al frente para mostrar el mensaje mientras se reproduce el discurso.
† Los comandos que muestran la interfaz de usuario, 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 ssh
.