在 qemu 虚拟机上添加第二台显示器

在 qemu 虚拟机上添加第二台显示器

我想要运行一个虚拟机,有 3 个要求:

  • 能够在主机和虚拟机之间复制/粘贴
  • 运行两个监视器(两个独立的窗口)
  • 仅 CLI(没有像 virt-manager 这样的 GUI 管理器)

为此,我使用了以下选项:

-device virtio-serial-pci 
-spice port=5930,disable-ticketing=on 
-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 
-chardev spicevmc,id=spicechannel0,name=vdagent
-vga none -device qxl-vga,vgamem_mb=32
--enable-kvm -cpu host -m 6G

我把它与spicy -h 127.0.0.1 -p 5930

复制/粘贴效果很好,但我只有一个监视器。在客户机上,通过运行xrandr我可以看到:

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
Virtual-0 connected primary 1024x768+0+0 0mm x 0mm
   1024x768      59.95*+
   1920x1200     59.95  
   1920x1080     60.00  
   1600x1200     59.95  
   1680x1050     60.00  
   1400x1050     60.00  
   1280x1024     59.95  
   1440x900      59.99  
   1280x960      59.99  
   1280x854      59.95  
   1280x800      59.96  
   1280x720      59.97  
   1152x768      59.95  
   800x600       59.96  
   848x480       59.94  
   720x480       59.94  
   640x480       59.94  
Virtual-1 disconnected
Virtual-2 disconnected
Virtual-3 disconnected

也许我可以连接到 Virtual-1?如何添加第二台显示器?

编辑:我在 archlinux 上使用 awesomeWM

编辑:在客户机中,我尝试将显示“Virtual-2”与 vnc 服务器关联以获得我的第二个显示器:

$ xrandr --addmode Virtual-2 1920x1080
$ xrandr --output Virtual-2 --mode 1920x1080 --right-of Virtual-1
$ xrandr | grep Virtual-2                                        
Virtual-2 disconnected 1920x1080+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm

$ x11vnc -multiptr -display :0 -clip 1920x1080+1920+0 

但当我尝试连接时,屏幕变黑了。请注意,如果我对 Virtual-1 显示器执行相同的操作,它会正常工作。

答案1

我最近尝试设置一个带有多个视频头的虚拟机。

我找到了一系列博客文章来解释如何做到这一点:https://linux-blog.anracom.com/2017/07/06/kvmqemu-mit-qxl-hohe-aufloesungen-und-virtuelle-monitore-im-gastsystem-definieren-und-nutzen-i/

不幸的是,它是用德语写的,我看不懂这种语言。不过,一些自动在线翻译工具帮助了我,我终于成功运行了一台有两个头的虚拟机。

据我了解,你遗漏了两件事:

  1. 您需要配置qxl-vga设备以使用该max_outputs=2选项启用两个头(最多可以使用 4 个值)。
  2. 您必须使用支持通过单个连接进行多显示器显示的 Spice 客户端。(在我的 Debian 主机上,软件包remote-viewervirt-viewer的 可以,但spicy不可以。)

作为参考,下面是我用来启动 Ubuntu 客户机的命令,具有双头支持:

qemu-system-x86_64 -machine q35,accel=kvm -cpu host -smp 1 -m size=4G \
-audiodev driver=spice,id=audio -device intel-hda -device hda-duplex,audiodev=audio \
-blockdev driver=raw,node-name=ubuntu,file.driver=file,file.filename=Downloads/ubuntu-22.04.1-desktop-amd64.iso \
-device ide-cd,drive=ubuntu \
-vga none -device qxl-vga,vgamem_mb=64,ram_size_mb=256,vram_size_mb=128,max_outputs=2 \
-device piix4-usb-uhci -device usb-tablet \
-display none -spice port=5900,addr=127.0.0.1,disable-ticketing \
-chardev spicevmc,id=charchannel0,name=vdagent \
-device virtio-serial-pci,id=virtio-serial0 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0

相关内容