kvm host access vm desktop - hanyong/note GitHub Wiki
kvm 宿主机访问 vm 桌面
kvm + spice 提供了不错的 vm 图形桌面环境体验, 并且 spice 在 linux 和 windows 下都有 remote-viewer 客户端, 体验都不错。
kvm 宿主机上也可以直接使用 virt-viewer 或 remote-viewer 访问 vm 桌面,
但在宿主机上再运行一套桌面环境代价较大,
并且需要先登录宿主机桌面环境, 再运行 virt-viewer 访问 vm 桌面, 需要两次操作比较烦人。
能不能宿主机上不要桌面环境, 直接访问 vm 桌面呢?
简单想法就是省略 gnome-session
等这些东西, 宿主机上只需要一个最简的 xserver 环境, 其上直接全屏运行 virt-viewer。
ubuntu 16.04 桌面环境由 lightdm 提供, 其负责启动 Xorg (即 xserver) , 整合桌面环境等内容。 一种想法是想修改 lightdm 的配置, 使其不要启动桌面环境直接启动 virt-viewer。 由于对 lightdm 并不熟悉, 直接尝试修改 lightdm-gtk-greeter 发现并不行。 另一种想法是查看 lightdm 怎么如何 Xorg, 自己尝试执行命令完成相关操作。
查看 Xorg 运行参数:
$ ps -C Xorg -fww
UID PID PPID C STIME TTY TIME CMD
root 1519 1511 3 12:29 tty7 00:05:52 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
尝试执行:
sudo Xorg :0 -seat seat0 vt7 -novtswitch
启动 xserver 成功。尝试执行:
DISPLAY=:0 mate-terminal
启动成功, 但是显示非常丑陋, 而且貌似功能有问题, 没有全屏等功能。
想了一下应该时还需要 x-window-manager
。
我在 ubuntu 16.04 mate 桌面使用的是 compiz, 看一下其运行参数:
$ ps -C compiz -fww
UID PID PPID C STIME TTY TIME CMD
hanyong 2772 2340 13 12:31 ? 00:20:59 compiz
不需要启动参数。尝试执行 (注意这里不需要 root 权限):
DISPLAY=:0 compiz
再执行 mate-terminal
, 果然显示好了很多, 也支持 F11 全屏显示了。
google 了一下有许多可选择的 x-window-manager
, 参考: https://en.wikipedia.org/wiki/Comparison_of_X_window_managers 。
尝试了一下 i3-wm (参考: http://i3wm.org/) 和 xfwm4 (参考: https://en.wikipedia.org/wiki/Xfce#Xfwm),
安装包都很小并且直接执行即可。
ubuntu 自带的 compiz
, mutter
和新安装的 i3-wm
都工作正常, xfwm4 貌似有问题。
看起来 mutter
显示比较好, 启动后即切换 xserver 背景为蓝色并显示鼠标。
但 compiz
用得较熟悉, 可考虑沿用 compiz
。
之后在宿主机执行 virt-viewer 即可友好的访问 vm 图形桌面了。