Как отключить хост Ubuntu 11.10 из гостевой системы Windows 7 VirtualBox?

Я установил виртуальную коробку 4.2 на хосте Ubuntu 11.10.

У меня Windows 7 в качестве единственной гостевой ОС.

Я могу автоматически запускать Windows 7 виртуальную при загрузке Ubuntu, добавив ее в стартовое приложение с помощью команды «VBoxMange startvm Win7» в командной строке.

Теперь, когда я закрываю Windows 7, программа virtualbox закрывается, но я возвращаюсь в Ubuntu, когда я хочу также выключить Ubuntu, когда я нажимаю Завершение работы в Windows 7 в Virtualbox.

Это задание для меня. Кто-нибудь может помочь мне в этом?

Кроме того, когда виртуальный ящик запускается автоматически, рабочий стол Ubuntu не должен быть виден.

1
задан 27 January 2013 в 16:18

2 ответа

Вам необходимо создать сценарий, который запускается на вашем компьютере с Windows и выполняет скоординированное завершение работы ваших систем.

Из того, что я прочитал, вы хотите запустить это из вашей виртуальной машины Windows 7 .

Для завершения работы Windows 7 с использованием сценариев используйте утилиту psshutdown от SysInternals.

Вам также потребуется сигнализировать своему хосту о завершении работы. Лучший способ сделать это - удаленно запустить его с помощью защищенной оболочки.

На машине Ubuntu:

Вы должны создать пользователя специально для этой задачи и ключ SSH специально для этого пользователя. Этот пользователь будет запускать сценарий с повышенными привилегиями, и доступ к нему должен быть как минимум.

На машине Windows:

Вам понадобится средство для запуска сценария на хост-машине через SSH. Версия OpenSSH для Cygwin, вероятно, является лучшим вариантом.

Таким образом, ваш сценарий Windows должен

  • использовать SSH для запуска сценария на хосте
  • Выполнить psshutdown -t 0 -k

Сценарий Ubuntu должен

  • принадлежать пользователю root
  • . Установите атрибут setuid, чтобы он работал с привилегиями root
  • sleep в течение периода времени, превышающего время выключения компьютера Windows
  • Execute / sbin / poweroff

Что касается другого вопроса - если вы не хотите видеть рабочий стол Ubuntu в любое время, вы можете просто не загружать его. Добавьте пользовательский сеанс X, который запускает экземпляр VirtualBox только в полноэкранном режиме.

1
ответ дан 27 January 2013 в 16:18

Чтобы сделать это, нужно написать сценарий для запуска виртуальной машины, дождаться его завершения и затем выполнить команду выключения.

Создайте папку bin в вашей домашней папке (если она еще не существует).

Теперь создайте файл со следующим содержимым. Назовем его win7vmshutdown и сохраним в папке bin .

#!/bin/bash

VBoxManage startvm 'Win7'                           # Start the VM.

sleep 10s                                           # Give it time to start up. 

while pgrep VirtualBox >/dev/null                   # As long as the VM is running...
do
        sleep 5s                                    # Wait a bit before trying again.
done

gnome-session-quit --power-off                      # Issue the command to shut down.

Сделайте скрипт исполняемым; введите следующее в Терминале.

chmod +x ~/bin/win7vmshutdown

В запускаемых приложениях удалите VBoxManage ... команда и замените ее на win7vmshutdown .

Команда shutdown предложит вам завершить работу; если вы не ответите, он выключится через 60 секунд. Это дает вам время прервать завершение работы в случае непредвиденных проблем.

Перезагрузите компьютер для проверки.

Вы сказали:

Кроме того, когда виртуальный ящик запускается автоматически, рабочий стол Ubuntu не должен быть виден.

Для этого вам нужно запустить виртуальную машину в полноэкранном режиме. Установите гостевые дополнения на свою виртуальную машину, перезагрузите ее и запустите в полноэкранном режиме.

3
ответ дан 27 January 2013 в 16:18

Другие вопросы по тегам:

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