![如何在 Linux 下从文本模式或 DM 将虚拟机启动为主桌面?](https://linux22.com/image/1520714/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%8B%E4%BB%8E%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%E6%88%96%20DM%20%E5%B0%86%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%90%AF%E5%8A%A8%E4%B8%BA%E4%B8%BB%E6%A1%8C%E9%9D%A2%EF%BC%9F.png)
每隔几周我就需要在 Linux 发行版之间切换。虚拟机非常适合这种操作,但将虚拟机作为我一段时间的主桌面运行会比在正在运行的窗口管理器中启动它更方便。
我想启动到文本模式并运行一个脚本,该脚本将以图形模式启动本周的虚拟机。或者,它可以从登录管理器(例如 lightdm)启动。如何使用 kvm 或 VirtualBox 完成此操作?谢谢!
答案1
您可以无头启动虚拟机,虚拟盒和:
VBoxManage startvm "VM name" --type headless
一旦启动,您就将 xsession 连接到已经打开的 Linux Virtual Box。
免责声明:我没有尝试过,因为没有盒子可以做到这一点,但理论上说这应该是可能的。
答案2
Seth 关于远程 xserver 会话的评论让我找到了正确的方向。VirtualBox 可以直接在其自己的 X 会话中启动。在下面的示例中,我们启动了一个 Ubuntu 15.04 映像。
从命令行
startx_ubuntu1504
在您的主目录中创建一个名为(或任何您想要调用的名称)的文件,其内容如下:
virtualbox --startvm Ubuntu_15.04 --fullscreen
然后您可以运行startx $HOME/startx_ubuntu1504 -- :1
来启动虚拟机。
从登录管理器
创建一个名为/usr/share/xsessions/vm_ubuntu1504.session
以下内容的文件:
[Desktop Entry]
Type=Application
Exec=virtualbox --startvm Ubuntu_15.04 --fullscreen
Name=VM Ubuntu 15.04
Comment=Run VirtualBox image in its own X session
然后,您应该能够从登录管理器中选择 X 会话。例如,我目前正在使用 lightdm 登录管理器运行 Xubuntu 2016.10,并且我当前的登录主题在右上角附近有一个会话下拉菜单。这使我可以在任意数量的虚拟机或非虚拟桌面之间进行选择。非常酷!