Eu tenho dois Macs em nossa casa (iMac e MacBook Pro).
Gostaria de usar o say
utilitário de linha de comando para digitar algo no meu MBP e fazê-lo falar no iMac, como um sistema de intercomunicação.
Além disso, pode ser hilário enviar mensagens para minha esposa enquanto ela estiver usando o iMac.
Isso pode ser feito?
snow-leopard
terminal
applescript
network
cbmeeks
fonte
fonte
Respostas:
Como os dois Mac estão na mesma casa, presumo que ambos estejam na mesma rede.
Primeiro de tudo, você precisa ativar
Remote Login
no Mac onde deseja que o som seja emitido.Vá para
System Preferences > Sharing
e marque aRemote Login
caixa de seleção. Em seguida, usando o seu computador, abra o Terminal e digiteOnde
<user>
está o login da sua esposa e<computer name>
é o nome do outro computador.Agora, é como se você estivesse com o Terminal aberto no computador da sua esposa e pudesse
say
o que quiser.fonte
ssh user@hostname 'say hello'
Além de usar
ssh
para executar comandos no host remoto, você pode usar o Apple Remote Events, que também possui umsay
comando, além de outros que podem ser úteis para você, comodisplay alert
.Na máquina de destino, ative:
Em seguida, na sua máquina, execute o seguinte script (no AppleScript Editor ou
osascript
no Terminal):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:
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 parassh
):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
edisplay dialog
, não são permitidos via Remote Apple Events. Para enviá-los para um processo em uma máquina remota, você deve primeiro prosseguirssh
.fonte
Como alternativa, novamente, nada impede você de usar a Área de Trabalho Remota ou o Compartilhamento de Tela, embutido no OSX, e apenas fazer login como um usuário normal, pulando o terminal.
Então você pode usar o say normalmente. Ou há muitos aplicativos que fazem texto em fala.
fonte