Я использую свой iPad для удаленной разработки приложений (я тестирую, когда я возвращаюсь к своей iMac) и вносить другие небольшие изменения в файлы на моем компьютере. До сих пор я использовал TeamViewer для iOS и iMac, и это работало, до времени я пытался получить доступ к своей iMac от машины Windows 7. Затем одно время, разрушенный TeamViewer.
Я ищу способ перезагрузить мой Mac, когда удаленная программа перестала работать. Существует ли Applescript, что довод "против" делает это?
Кроме того, есть ли программа VNC, которая имеет совместимое приложение для iOS, которое действительно поддерживает удаленную перезагрузку?
Вы не должны перезагружать для перезапущения TeamViewer; можно добраться launchd
контролировать процесс и перезапускать его, если это отказывает.
Во-первых, необходимо будет определить фактический исполняемый файл. Откройте терминал и озирайтесь в пакете TeamViewer - исполняемый файл, вероятно, будет в /Applications/TeamViewer.app/Contents/MacOS/TeamViewer
но Ваш пробег может варьироваться. Для проверки Вы нашли правильный путь, введите его в терминале - если TeamViewer запускается, Вы, вероятно, получили его. С другой стороны, откройте Activity Monitor, в то время как TeamViewer работает, определите, что TeamViewer обрабатывают и нажимают 'Inspect' на панели инструментов. Затем на вкладке Open Files и Ports исполняемый файл, вероятно, будет первой или второй перечисленной записью (после того, как /
).
После того как Вы знаете, какую программу Вы отслеживаете, можно создать a launchd
Список свойств. Это - XML-файл, таким образом, можно сделать это с любимым текстовым редактором, или альтернативно можно использовать Редактора Списка свойств, это установлено с Инструментами Dev Mac OS X. Создайте следующее:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>some.meaningful.name</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/path/we/identified/earlier</string>
</array>
</dict>
</plist>
Сохраните это в ~/Library/LaunchAgents/some.meaningful.name.plist
, затем откройте терминал и сделайте:
launchctl load ~/Library/LaunchAgents/some.meaningful.name.plist
Это заставит launchd загружать объект, который заставит его контролировать указанную программу и, если он выйдет по какой-либо причине, то он будет перезапущен. Это будет только работать, если Ваш пользователь будет зарегистрирован. Для выполнения при начальной загрузке вставьте plist /Library/LaunchDaemons/some.meaningful.name.plist
, добавить UserName
и GroupName
пары ключ/значение и использование sudo
при выполнении launchd
загрузка. Для избавлений от объекта (если действительно необходимо выйти из TeamViewer, например) просто заменяют загрузку в вышеупомянутой команде с, разгружаются.
С другой стороны, Lingon предоставляет графический интерфейс launchd и может быть легче.
Это довольно тривиально, если Вы знакомы с командной строкой. Многие клиенты SSH существуют для iOS: необходимо было бы активировать "Удаленный вход в систему" от предпочтительной области совместного использования.
После того как это сделано, и надлежащие сети minutia заботятся о, все, что необходимо было бы сделать к перезагрузке, SSH в iMac и выполненный $ sudo shutdown -r now
, который перезагрузит машину. Принятие это - все, которое необходимо сделать для подъема TeamViewer и выполнения, которое должно хорошо работать.
Кто-то еще предложил перезапустить процесс. Снова, принятие всего, что необходимо сделать для активации TeamViewer, должно запустить приложение, Вам сначала был бы нужен к завершенному силой существующий подвешенный процесс: что-то как $ sudo killall TeamViewer
, и затем повторно запустите приложение с $ open /Applications/TeamViewer.app
или что-то подобное.