Выйти из сценариев для X-сессии VirtualBox с гостевой ОС Windows 8 [dубликат]

Я установил виртуальный блок 4.2 на хост Ubuntu 11.10

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

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

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

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

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

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

4 ответа

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

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

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

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

На машине Ubuntu:

Вы должны создать пользователя специально для этой задачи и ключ SSH специально для этого пользователя.

На машине Windows:

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

Итак, ваш скрипт Windows должен

Использовать SSH для запуска скрипта на хосте. Run psshutdown -t 0 -k

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

Использовать SSH для запуска скрипта на хосте Использовать атрибут setuid, чтобы он выполнялся с привилегиями root Run psshutdown -t 0 -k Выполнить /sbin/poweroff

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

1
ответ дан 17 July 2018 в 13:59

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

Создать папку 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
ответ дан 17 July 2018 в 13:59

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

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

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

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

На машине Ubuntu:

Вы должны создать пользователя специально для этой задачи и ключ SSH специально для этого пользователя.

На машине Windows:

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

Итак, ваш скрипт Windows должен

Использовать SSH для запуска скрипта на хосте. Run psshutdown -t 0 -k

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

Использовать SSH для запуска скрипта на хосте Использовать атрибут setuid, чтобы он выполнялся с привилегиями root Run psshutdown -t 0 -k Выполнить /sbin/poweroff

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

1
ответ дан 20 July 2018 в 14:03

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

Создать папку 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
ответ дан 20 July 2018 в 14:03

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

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