如何从Windows 7 VirtualBox客户端关闭Ubuntu 11.10主机?
我在Ubuntu 11.10主机上安装了虚拟机4.2。
我有Windows 7作为唯一的客户操作系统。
通过在命令选项中使用命令“VBoxMange startvm Win7”在启动应用程序中添加它,我可以在Ubuntu启动时自动启动Windows 7虚拟机。
现在,当我关闭Windows 7时,虚拟机程序正在关闭,但是当我在Virtualbox中单击Windows 7中的Shutdown时,我想要关闭Ubuntu时,我会回到Ubuntu。
这是我的任务。 有人可以帮帮我吗?
此外,当虚拟盒自动启动时,Ubuntu的桌面应该不可见。
执行此操作的方法是编写脚本以启动VM,等待它终止,然后发出关闭命令。
在主文件夹中创建文件夹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的桌面应该不可见。
为此,您需要全屏运行VM。 在VM中安装Guest Additions,重新启动它,然后全屏运行。
您需要创建一个在Windows框中运行的脚本,该脚本执行系统的协调关闭。
根据我的阅读,您希望从Windows 7 VM中触发此操作。
对于Windows 7的脚本化关闭,请使用psshutdown
实用程序。
您还需要通知主机关闭。 执行此操作的最佳方法是使用安全shell远程触发它。
在Ubuntu机器上:
您应该专门为此任务创建一个用户,并专门为此用户创建一个SSH密钥。 此用户将运行具有提升权限的脚本,并且应至少对其进行访问。
在Windows机器上:
您将需要一种通过SSH在主机上运行脚本的方法。 Cygwin版本的OpenSSH可能是最好的选择。
所以你的Windows脚本应该
- 使用SSH在主机上启动脚本
- 运行
psshutdown -t 0 -k
Ubuntu脚本应该
- 由root拥有
- 启用setuid属性,使其以root权限运行
-
sleep
时间大于Windows机器关机时间 - 执行
/sbin/poweroff
至于其他问题 – 如果你不想随时看到Ubuntu桌面,你就可以不加载它。 添加仅以全屏模式启动VirtualBox实例的用户X会话。