У меня дома два Mac (iMac и MacBook Pro).
Я хотел бы использовать say
утилиту командной строки, чтобы напечатать что-нибудь на моем MBP и заставить его говорить на iMac, скорее как система внутренней связи.
Кроме того, было бы смешно отправлять сообщения моей жене, когда она использует iMac.
Можно ли это сделать?
snow-leopard
terminal
applescript
network
cbmeeks
источник
источник
Ответы:
Поскольку два Mac находятся в одном доме, я предполагаю, что они оба находятся в одной сети.
Прежде всего, вам нужно активировать
Remote Login
на Mac, где вы хотите, чтобы звук вышел.Перейти
System Preferences > Sharing
и проверитьRemote Login
флажок. Затем, используя компьютер, откройте терминал и введите этотГде
<user>
ваша жена, логин и<computer name>
имя другого компьютера.Теперь, как будто у вас открыт терминал на компьютере вашей жены, и вы можете
say
делать все, что захотите.источник
ssh user@hostname 'say hello'
В дополнение к использованию
ssh
для запуска команд на удаленном хосте, вы можете использовать Remote Apple Events, которые также имеютsay
команды, а также другие, которые могут быть вам полезны, напримерdisplay alert
.На целевой машине включите:
Затем с вашего компьютера запустите следующий скрипт (в редакторе AppleScript или через
osascript
терминал):Он попросит вас подтвердить подлинность, когда вы скомпилируете или запустите это. Если вы сделаете это в AppleScript Editor, он будет помнить аутентификацию, пока вы оставляете AppleScript Editor открытым, поэтому вам не придется проходить аутентификацию каждый раз, когда вы запускаете это. (В диалоге аутентификации также есть возможность сохранить свои учетные данные в связке ключей, чтобы избежать многократного проникновения.)
Вы можете сделать это из командной строки в терминале с помощью:
Как отобразить сообщение на удаленной машине
Вы также можете отобразить сообщение,
ssh
выполнив вход на удаленный компьютер с помощью † и выполнив эту команду в удаленной оболочке (для этого не используются удаленные события Apple, просто для удаленного входа в системуssh
):Команда
say
запускает речь асинхронно, а затем выводит системные события на передний план для отображения сообщения во время воспроизведения речи.† Команды, отображающие пользовательский интерфейс, такие как
display alert
иdisplay dialog
, не разрешены через удаленные события Apple. Чтобы отправить их процессу на удаленной машине, сначала нужно пройтиssh
.источник
Как вариант, ничто не мешает вам использовать Remote Desktop или Screen Sharing, встроенный в OSX, и просто войти в систему как обычный пользователь, пропуская терминал.
Тогда вы можете сказать, как обычно. Или есть много приложений, которые делают текст в речь.
источник