Answers:
由于两台Mac位于同一屋子里,因此我认为它们都在同一网络上。
首先,您需要Remote Login
在需要声音的Mac上激活。
转到System Preferences > Sharing
并选中Remote Login
复选框。然后,使用计算机打开“终端”并键入
ssh <user>@<computer name.local>
<user>
您妻子的登录<computer name>
名在哪里,是另一台计算机的名称。
现在,就好像您在妻子的计算机上打开了终端,您可以say
随便什么。
ssh user@hostname 'say hello'
除了用于ssh
在远程主机上运行命令之外,您还可以使用Remote Apple Events(也具有say
命令)以及其他可能对您有用的命令display alert
。
在目标计算机上,启用:
系统偏好设置>共享>远程Apple事件
然后从您的计算机运行以下脚本(在AppleScript编辑器中,或通过osascript
Terminal):
tell application "Finder" of machine "eppc://machine-name.local"
say "Hello"
end tell
编译或运行它时,它将要求您进行身份验证。如果您在AppleScript编辑器中进行此操作,只要您保持AppleScript编辑器处于打开状态,它就会记住身份验证,因此您不必每次运行时都进行身份验证。(身份验证对话框还可以选择将您的凭据保存在“钥匙串”上,以避免再次受到干扰。)
您可以从终端中的命令行执行以下操作:
osascript -e 'tell application "Finder" of machine "eppc://machine-name.local" to say "Hello"'
如何在远程计算机上显示消息
您还可以通过使用ssh
† 登录到远程计算机并在远程外壳程序中运行此命令来显示消息(这不使用Remote Apple Events,仅用于的远程登录ssh
):
osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'
该say
命令以异步方式启动语音,然后将系统事件带到最前面以在语音播放时显示消息。
† 通过Remote Apple Events不允许显示UI的命令(如display alert
和)display dialog
。要将它们发送到远程计算机上的进程,必须首先经过ssh
。