Ngoài việc sử dụng ssh
để chạy các lệnh trên máy chủ từ xa, bạn có thể sử dụng Remote Apple Events, cũng có một say
lệnh, cũng như các lệnh khác có thể hữu ích cho bạn, như thế display alert
.
Trên máy đích, bật:
Tùy chọn hệ thống> Chia sẻ> Sự kiện Apple từ xa
Sau đó, từ máy của bạn chạy tập lệnh sau (trong AppleScript Editor hoặc thông qua osascript
trong Terminal):
tell application "Finder" of machine "eppc://machine-name.local"
say "Hello"
end tell
Nó sẽ yêu cầu bạn xác thực khi bạn biên dịch hoặc chạy cái này. Nếu bạn làm như vậy trong AppleScript Editor, nó sẽ ghi nhớ xác thực miễn là bạn để AppleScript Editor mở, do đó bạn sẽ không phải xác thực mỗi khi bạn chạy cái này. (Hộp thoại xác thực cũng có tùy chọn lưu thông tin đăng nhập của bạn trên Keychain để tránh bị làm phiền nhiều lần.)
Bạn có thể làm điều này từ dòng lệnh trong Terminal với:
osascript -e 'tell application "Finder" of machine "eppc://machine-name.local" to say "Hello"'
Cách hiển thị tin nhắn trên máy từ xa
Bạn cũng có thể hiển thị thông báo bằng cách đăng nhập vào máy từ xa bằng ssh
và chạy lệnh này trong vỏ từ xa (điều này không sử dụng Remote Apple Events, chỉ cần Đăng nhập từ xa ssh
):
osascript -e 'say "Hello" without waiting until completion' -e 'tell application "System Events"' -e 'activate' -e 'display alert "Hello!"' -e 'end'
Các say
lệnh bắt đầu bài phát biểu không đồng bộ, sau đó này mang lại hệ thống sự kiện vào phía trước để hiển thị thông điệp trong khi bài phát biểu đang phát.
Các lệnh hiển thị UI, như display alert
và display dialog
, không được phép thông qua Sự kiện Apple từ xa. Để gửi chúng đến một quy trình trên một máy từ xa, trước tiên bạn phải trải qua ssh
.