Além de usar ssh
para executar comandos no host remoto, você pode usar o Apple Remote Events, que também possui um say
comando, além de outros que podem ser úteis para você, como display alert
.
Na máquina de destino, ative:
Preferências do Sistema> Compartilhamento> Eventos Remotos da Apple
Em seguida, na sua máquina, execute o seguinte script (no AppleScript Editor ou osascript
no Terminal):
tell application "Finder" of machine "eppc://machine-name.local"
say "Hello"
end tell
Ele solicitará que você se autentique quando compilar ou executar isso. Se você fizer isso no AppleScript Editor, ele lembrará a autenticação enquanto você deixar o AppleScript Editor aberto, para que você não precise se autenticar sempre que executar isso. (A caixa de diálogo de autenticação também tem uma opção para salvar suas credenciais no chaveiro para evitar repetidamente incomodar.)
Você pode fazer isso na linha de comando no Terminal com:
osascript -e 'tell application "Finder" of machine "eppc://machine-name.local" to say "Hello"'
Como exibir uma mensagem em uma máquina remota
Você também pode exibir uma mensagem efetuando login na máquina remota com ssh
† e executando este comando no shell remoto (isso não utiliza os Eventos Apple Remotos, apenas o Login Remoto para ssh
):
osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'
O say
comando inicia o discurso de forma assíncrona, e isso traz os Eventos do sistema para a frente para exibir a mensagem enquanto o discurso está sendo reproduzido.
† Comandos que exibem interface do usuário, como display alert
e display dialog
, não são permitidos via Remote Apple Events. Para enviá-los para um processo em uma máquina remota, você deve primeiro prosseguir ssh
.