Вопрос ОП очень плохо сформулирован. С небольшим поиском в Интернете:
Savant - это система домашней автоматизации, размещенная на OS X. К сожалению, на сайте все флеш и нет вещества, поэтому я отказался от поиска документации там.
scli
- это программа дистанционного управления на основе командной строки, используемая для управления сетевыми устройствами, такими как маршрутизаторы (и, предположительно, безгонный Mac Mini, работающий на сервере Savant) через SNMP. Предположительно sclibridge
- это специфическая для вендора реализация; это не общий термин.
scli[bridge]
Используется для управления Savant напрямую, неясно, но я предполагаю, что, вероятно, нет: для него это похоже немного низкоуровневое и универсальное, поэтому может быть просто для управления самим Mac. Вполне возможно, что он включает в себя возможность отправки команд оболочки на удаленную машину, избегая необходимости прыгать между scli
и ssh
все время, но я не стал подробно читать.
Достаточно то, как OP оттуда пытался запустить рубиновые скрипты. Я не знаю, и почему их примерный код хочет поговорить со своим Mac через Remote Apple Events, которые недоступны в Linux. Я подозреваю, что это путаница во многом из-за паршивых документов поставщиков.
Во всяком случае, при условии, что они могут использовать scli
или ssh
для запуска удаленного * команды Никса, проще всего был бы добавить кучу исполняемого AppleScripts на Mac, который коробок Linux может затем дистанционно выполнять так же, как это было бы любую другую команду оболочки. например Сохраните следующее в виде простого текста (Неоткомпилированная AppleScript) файл с именем kodi-remote
:
#!/usr/bin/osascript
on run argv
-- argv : list of string -- any arguments to `kodi-remote` command
if argv is {} or item 1 of argv is "help" then
log "Usage: kodi-remote [ run | quit | help ]"
return
end if
set cmd to item 1 of argv
if cmd is "run" then
tell application "Kodi" to run
else if cmd is "quit" then
tell application "Kodi" to quit
else
error "Unknown command: " & cmd number 1
end if
end run
Используйте chmod +x kodi-remote
, чтобы сделать его исполняемым и поставить его где-то, что удаленная оболочка может ее найти (например /usr/local/bin
).
Вы можете проверить его на месте, открыв новое окно в Terminal.app и работает:
kodi-remote run
kodi-remote quit
Те же команды должны работать в то, что вы используете для выполнения удаленных команд оболочки на поле Linux.
Вы хотите использовать Ruby для отправки команды? Что вы пробовали? Есть много способов переместить сценарий на другой компьютер, а затем запустить его, поэтому нам нужно знать, какие протоколы у вас есть, например FTP, SFTP, SSH и т. Д., Поскольку они определяют, как вы перемещаете файл и выполнить его. Так же есть много неизвестных, и это займет книгу, чтобы охватить возможности сделать этот вопрос слишком широким. –
Я еще ничего не пробовал. Я пытаюсь собрать немного больше информации, поэтому я знаю, что поступаю правильно.Как я уже сказал, я не знаком с скриптами вне applescript. Это то, что я получил от компании, которую приобрел ящик Linux через «sclibridge - это программа командной строки на хосте, используемая для взаимодействия с системой управления Savant для расширенной настройки». – David
Извините за недостаток информации. Я новичок. SSH, я считаю, протокол, который они используют. Все остальное, что они мне рассказали о добавлении скриптов в систему, было использование SSH. – David