Как выключить виртуальную машину VMware Fusion при выключении хоста

Как выключить виртуальную машину VMware Fusion при выключении хоста

У меня есть Mac mini с запущенным сервером Mavericks. Я установил сервер Atmail + виртуальную машину веб-почты [дистрибутив Linux Centos] в VMware Fusion Professional 6 с дополнением VMware Tools. Работает безупречно. Я настроил его на запуск при загрузке, и это работает очень надежно. Однако я искал способ безопасно и изящно выключать его всякий раз, когда OS X выключается по какой-либо причине. Mac подключен к ИБП и настроен на автоматическое выключение в случае, если батарея начинает разряжаться, так что это не дополнительная проблема.

Теперь первое, что я сделал, это зашел в настройки Fusion и выбрал "Power off the vm" при закрытии. Однако я заметил, что по какой-то непонятной причине закрытие окна vm на самом деле принудительно отключает vm: так что затем я нашел этопочтакоторый показал мне, как изменить параметры питания по умолчанию, и мне удалось заставить виртуальную машину корректно выключиться при закрытии ее окна или полном выходе из Fusion. В этот момент я надеялся решить проблему, но, как оказалось, при вызове выключения системы OS X не ждет, пока виртуальная машина выключится, и завершает Fusion до того, как она успеет это сделать. В этот момент я начал искать способ автоматизировать процесс выключения гостевой ОС с помощью некоторых дополнительных настроек, но мне это не удалось. Именно тогда я нашел команду для выключения виртуальной машины: vmrunи она сработала. Оставалось только найти способ выполнить этот скрипт при выключении OS X и дать ей немного времени для полного выключения. Однако это оказалось кошмаром: я потратил часы, просматривая несколько способов сделать это с помощью элементов автозагрузки, rc.shutdown, cron, launchd и т. д., но ни один из них не работал так, как я их настроил.

Должен сказать, что я нашел очень ограниченную информацию об использовании launchd для выполнения скрипта выключения, и я знаю, что это последнее новшество в мире OS X, поэтому я надеюсь, что кто-то из вас сможет мне с этим помочь. Я все еще думаю, что это чрезвычайно базовая функция, о которой можно просить, и я был действительно удивлен, обнаружив эту небольшую документацию по столь многим различным аспектам этой проблемы. Является ли Fusion слишком базовым приложением для этого?

Я очень надеюсь, что кто-то сможет помочь. Спасибо большое заранее.

решение1

Пробовали ли вы метод, обсуждаемый в этом ответе на stackoverflow?:-

https://stackoverflow.com/questions/16542301/running-a-shell-script-on-shutdown-via-launchd

По сути, вы запускаете скрипт при запуске машины, который прослушивает сигнал SIGTERM, а затем выполняет нужную команду, когда получает его.

решение2

Вы установили vmware tools? Я могу заставить свою гостевую виртуальную машину выключиться, когда я сам выключаю компьютер, однако, когда компьютер выключается по команде отключения батареи ИБП, он ее не передает.

Связанный контент