You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Hyper-V增强会话模式下Ubuntu 22.04无法调整分辨率的解决办法

Hyper-V增强会话模式下Ubuntu 22.04无法调整分辨率的解决办法

我之前也碰到过完全一样的问题,折腾了好几种方案才搞定,下面给你几个亲测有效的解决办法:

方法一:修复xrdp相关组件(增强会话核心依赖)

增强会话模式是基于xrdp实现的,组件损坏或版本兼容问题很可能导致分辨率无法调整,试试重新安装相关组件:

  • 先更新系统包:
    sudo apt update && sudo apt upgrade -y
    
  • 重新安装xrdp和xorgxrdp:
    sudo apt install --reinstall xrdp xorgxrdp
    
  • 重启xrdp服务:
    sudo systemctl restart xrdp
    
  • 重启虚拟机后重新连接增强会话,看看能不能调整分辨率或者动态缩放窗口。

方法二:手动添加自定义分辨率

如果系统显示设置里没有可选分辨率,可以用xrandr手动添加:

  1. 先查看当前的显示设备名称,运行:
    xrandr
    
    输出里会显示类似xrdp0的设备名(这是增强会话对应的虚拟显示器)
  2. 生成目标分辨率的模式信息,比如要添加1920x1080@60Hz:
    cvt 1920 1080 60
    
    命令会输出类似这样的内容:

    Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

  3. 将这个模式添加到xrandr:
    xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    
  4. 把模式绑定到显示设备:
    xrandr --addmode xrdp0 1920x1080_60.00
    
  5. 现在去系统的显示设置里,就能看到刚才添加的分辨率选项了。如果想开机自动生效,把步骤2-4的命令复制到~/.profile文件末尾即可。

方法三:调整Hyper-V虚拟机的视频配置

有时候虚拟机的视频内存上限或分辨率限制会导致无法调整,试试修改虚拟机的视频参数:

  • 先关闭Ubuntu虚拟机,然后打开管理员权限的PowerShell
  • 运行命令替换成你的虚拟机名称,比如我的虚拟机叫Ubuntu 22.04 LTS
    Set-VMVideo -VMName "Ubuntu 22.04 LTS" -HorizontalResolutionMaximum 2560 -VerticalResolutionMaximum 1440 -MinimumVideoMemoryBytes 1GB
    
  • 启动虚拟机后重新连接增强会话,看看动态缩放或分辨率调整是否正常。

另外你提到官方说明支持动态调整,确认一下系统是最新版本,xorgxrdp包也要保持最新,旧版本偶尔会出现兼容性问题。

备注:内容来源于stack exchange,提问作者David Balažic

火山引擎 最新活动