Удаленный доступ и начальная загрузка для моей iMac?

Я использую свой iPad для удаленной разработки приложений (я тестирую, когда я возвращаюсь к своей iMac) и вносить другие небольшие изменения в файлы на моем компьютере. До сих пор я использовал TeamViewer для iOS и iMac, и это работало, до времени я пытался получить доступ к своей iMac от машины Windows 7. Затем одно время, разрушенный TeamViewer.

Я ищу способ перезагрузить мой Mac, когда удаленная программа перестала работать. Существует ли Applescript, что довод "против" делает это?

Кроме того, есть ли программа VNC, которая имеет совместимое приложение для iOS, которое действительно поддерживает удаленную перезагрузку?

0
задан 08.10.2010, 03:04

3 ответа

Вы не должны перезагружать для перезапущения 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 и может быть легче.

0
ответ дан 24.11.2019, 06:49

Вы могли настроить задачу на iMac для проверки на существование процесса TeamViewer и перезагрузку, если это не найдено. Но почему не только перезапускают процесс вместо того, чтобы перезагрузить целую машину?

1
ответ дан 24.11.2019, 06:49

Это довольно тривиально, если Вы знакомы с командной строкой. Многие клиенты SSH существуют для iOS: необходимо было бы активировать "Удаленный вход в систему" от предпочтительной области совместного использования.

После того как это сделано, и надлежащие сети minutia заботятся о, все, что необходимо было бы сделать к перезагрузке, SSH в iMac и выполненный $ sudo shutdown -r now, который перезагрузит машину. Принятие это - все, которое необходимо сделать для подъема TeamViewer и выполнения, которое должно хорошо работать.

Кто-то еще предложил перезапустить процесс. Снова, принятие всего, что необходимо сделать для активации TeamViewer, должно запустить приложение, Вам сначала был бы нужен к завершенному силой существующий подвешенный процесс: что-то как $ sudo killall TeamViewer, и затем повторно запустите приложение с $ open /Applications/TeamViewer.app или что-то подобное.

1
ответ дан 24.11.2019, 06:49

Теги

Похожие вопросы