我应该如何设置一个系统,一旦用户登录,虚拟机就会无缝启动(或无需直接用户输入)。
我运行 Ubuntu,但我想设置一个可以直接进入 Windows 的来宾帐户。
我知道双启动机器是可能的,但我想找到一种不需要完全重新启动的方法。
我对 Linux 和 VM 的复杂性还很陌生。
答案1
如果您将虚拟机的启动命令添加到/home/<username>/.profile
,那么当该名称的用户<username>
登录时,该命令将被执行(一次)。
对于虚拟盒:
VBoxManage startvm "<machinename>"
您可以添加选项以全屏运行它(例如VBoxSDL -vm "Windows XP" -fullscreen
)。
如果用户存在虚拟机,她最终将进入 Linux。
如果您还想在 VirtualBox 结束时注销用户,请在 Gnome(或 Unity)中执行以下操作:
创建一个名为的文件runvm
并使其可执行:
$ touch runvm
$ chmod u+x runvm
打开编辑器并添加以下行:
VBoxManage startvm "<machinename>"
sleep 1
while pgrep VirtualBox > /dev/null; do sleep 1; done
kill -9 -1
保存文件。
注意:您可以通过启动虚拟机并运行以下命令来获取“”:
$ VBoxManage list vms
您可以通过调用runvm &
虚拟机启动后将其关闭来测试这一点。用户被强制注销,系统返回到登录提示符。
当此方法有效时,请将其添加为文件中的最后一行.profile
:
nohup $HOME/runvm &
快速编辑您的.profile
文件:
$ echo "nohup $HOME/runvm &" >> .profile