快轉到主要內容

Spice Guest Tools用法,QEMU/KVM虛擬機自動縮放解析度、共享資料夾

分類   資訊科技 虛擬機與容器技術
標籤   Libvirt QEMU-KVM
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

Linux的Virt Manager是透過SPICE協定跟QEMU/KVM虛擬機互動的,能讓我們能在宿主機桌面與虛擬機之間切換滑鼠。

SPICE提供以下功能:

  • 讓虛擬機自動隨視窗大小切換解析度
  • 宿主機與虛擬機共享剪貼簿
  • 即時重新導向USB裝置
  • 智慧卡重新導向
  • 播放與錄製音訊
  • 透過WebDAV共享資料夾(Spice WebDAV)

不過以上功能並非全啟用。若要使用全部功能,就需要SPICE Guest Tools(客體系統工具),此為一款跑在虛擬機內的程式,讓使用者能使用SPICE的全部功能。

SPICE Guest Tools支援Windows虛擬機與Linux系統。它會在虛擬機內部安裝Spice VDagentQemu-guest-agent二個常駐程式,負責宿主機與虛擬機間的溝通。

1. 宿主機安裝Virt Manger
#

設定好 Virt Manger與QEMU/KVM

並安裝Windows或Linux虛擬機

2. 虛擬機安裝Spice Guest Tools
#

Windows虛擬機
#

  1. 在虛擬機內開啟瀏覽器,到 Fedora網站下載。

  2. 進入stable-virtio的目錄,下載virtio-win-guest-tools.exe安裝檔。

  3. 在那之後可以透過Windows的服務界面確認QEMU Agent和Spice VDAgent是否有跑起來。

Linux虛擬機
#

Spice Guest Tools通常透過套件管理器安裝就行,不行的話再到官網使用 原始碼安裝。

  1. 例如Ubuntu即是安裝以下套件:
sudo apt install spice-vdagent qemu-guest-agent
  1. 使用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比較簡單。

  1. 在Linux宿主機安裝Apache套件,啟用WebDAV模組,架設WebDAV伺服器。設定要分享的目錄,例如/home/user/Public

  2. 將虛擬機關機

  3. 在Virt Manager點選新增硬體,新增通道,選取SPICE WebDAV

  4. 虛擬機開機。

Windows到 SPICE官網下載spice-webdavd-x64安裝檔

Linux透過套件管理器安裝spice-webdavd套件。

  1. 這樣子在虛擬機內應該就能連線到宿主機的WebDAV了。

參考資料
#

相關文章

Ubuntu安裝QEMU/KVM和Virt Manager虛擬機管理員
分類   資訊科技 虛擬機與容器技術
標籤   Libvirt Ubuntu QEMU-KVM
如何用圖形化程式調整QEMU/KVM虛擬機的硬碟大小,開啟編輯qcow2檔
分類   資訊科技 虛擬機與容器技術
標籤   QEMU-KVM Libvirt
Ubuntu單GPU直通方法,Nvidia顯示卡直通給Windows 11 QEMU/KVM虛擬機
分類   資訊科技 虛擬機與容器技術
標籤   GPU Passthrough PCI Passthrough Ubuntu QEMU-KVM Libvirt

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。