Крім використання ssh
для запуску команд на віддаленому хості, ви можете використовувати віддалені події Apple, які також мають say
команду, а також інші, які можуть бути корисними для вас, наприклад display alert
.
На цільовій машині увімкніть:
Налаштування системи> Обмін> Віддалені події Apple
Потім зі свого комп'ютера запустіть наступний сценарій (в редакторі AppleScript або через osascript
термінал):
tell application "Finder" of machine "eppc://machine-name.local"
say "Hello"
end tell
Він попросить вас підтвердити автентифікацію, коли ви компілюєте або запускаєте це. Якщо ви це зробите в редакторі AppleScript, він запам'ятовує аутентифікацію до тих пір, поки ви не залишите AppleScript Editor відкритим, тому вам не доведеться проводити автентифікацію кожного разу при запуску цього. (У діалоговому вікні аутентифікації також є можливість зберегти свої облікові дані на брелоку, щоб уникнути їх повторного зникнення.)
Це можна зробити з командного рядка в Терміналі за допомогою:
osascript -e 'tell application "Finder" of machine "eppc://machine-name.local" to say "Hello"'
Як відобразити повідомлення на віддаленій машині
Ви також можете відобразити повідомлення, увійшовши у віддалену машину за допомогою ssh
† та запустивши цю команду у віддаленій оболонці (для цього не використовуються віддалені події Apple, а лише віддалений вхід для ssh
):
osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'
say
Команда починає виступ асинхронно, то це призводить до системі подій на фронт , щоб відобразити повідомлення , коли мова відіграє.
† Команди, які відображають користувальницький інтерфейс, як display alert
і display dialog
, не дозволяються через віддалені події Apple. Щоб відправити їх у процес на віддаленій машині, спочатку потрібно пройти ssh
.