Linux的Virt Manager是透過SPICE協定跟QEMU/KVM虛擬機互動的,能讓我們能在宿主機桌面與虛擬機之間切換滑鼠。
SPICE提供以下功能:
- 讓虛擬機自動隨視窗大小切換解析度
- 宿主機與虛擬機共享剪貼簿
- 即時重新導向USB裝置
- 智慧卡重新導向
- 播放與錄製音訊
- 透過WebDAV共享資料夾(Spice WebDAV)
不過以上功能並非全啟用。若要使用全部功能,就需要SPICE Guest Tools(客體系統工具),此為一款跑在虛擬機內的程式,讓使用者能使用SPICE的全部功能。
SPICE Guest Tools支援Windows虛擬機與Linux系統。它會在虛擬機內部安裝Spice VDagent
和Qemu-guest-agent
二個常駐程式,負責宿主機與虛擬機間的溝通。
1. 宿主機安裝Virt Manger#
並安裝Windows或Linux虛擬機
2. 虛擬機安裝Spice Guest Tools#
Windows虛擬機#
在虛擬機內開啟瀏覽器,到 Fedora網站下載。
進入stable-virtio的目錄,下載
virtio-win-guest-tools.exe
安裝檔。在那之後可以透過Windows的服務界面確認QEMU Agent和Spice VDAgent是否有跑起來。
Linux虛擬機#
Spice Guest Tools通常透過套件管理器安裝就行,不行的話再到官網使用 原始碼安裝。
- 例如Ubuntu即是安裝以下套件:
sudo apt install spice-vdagent qemu-guest-agent
- 使用systemd指令啟動服務
sudo systemctl enable --now spice-vdagent
sudo systemctl enable --now qemu-guest-agent
3. SPICE圖形操作#
SPICE服務有跑起來之後,宿主機和虛擬機的剪貼簿應該就會自動同步了。
若要讓Windows虛擬機隨著Virt Manager視窗大小自動修改桌面解析度,顯示卡必須為QXL。
之後才可以點選檢視 → 縮放顯示 → 自動調整虛擬機視窗大小。
值得注意的是,目前SPICE Tools版本0.1.240的QXL驅動尚不支援Wayland工作階段,Linux虛擬機需使用X11工作階段才支援自動縮放。
4. Spice WebDAV共享資料夾#
Spice WebDAV是個極簡WebDAV伺服器,支援Windows XP以上系統。需要手動設定SPICE通道,以及在虛擬機安裝spice-webdavd服務。
這個共享資料夾作法有點複雜,而且不穩定,不在乎遠端分享能力的話建議改用 VirtIO-FS比較簡單。
在Linux宿主機安裝Apache套件,啟用WebDAV模組,架設WebDAV伺服器。設定要分享的目錄,例如
/home/user/Public
。將虛擬機關機
在Virt Manager點選新增硬體,新增通道,選取SPICE WebDAV
虛擬機開機。
Windows到
SPICE官網下載spice-webdavd-x64
安裝檔
Linux透過套件管理器安裝spice-webdavd
套件。
- 這樣子在虛擬機內應該就能連線到宿主機的WebDAV了。