Cardinal Skywalker 2025-05-30 18:38 采纳率: 0%
浏览 38

如何解决在Windows11上使用mstsc连接WSL2 Ubuntu22.04后打开应用图形界面崩溃问题

在Windows11上使用mstsc连接WSL2 Ubuntu22.04后打开应用图形界面崩溃

我在wsl2的ubuntu22.04上配置好xrdp并采用win11的mstsc进行远程连接
配置VCS+Verdi联合编译环境时,vcs图形化界面能够成功打开:

img


然而在使用verdi命令时,命令行显示verdi启动成功:

img


屏幕在闪烁过后没有弹出Verdi图形界面窗口,多次启动verdi后mstsc崩溃:

img


点击logout后出现如下显示:

img

我认为程序启动成功了,怀疑是WSL2的虚拟显存不够?请问应该如何解决

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-05-30 18:39
    关注

    晚上好🌙🌙🌙
    本答案参考通义千问

    在Windows 11上使用 mstsc 连接 WSL2 的 Ubuntu 22.04 并打开图形界面时遇到崩溃问题,通常是由于 WSL2 的虚拟显存不足或 X 服务器配置不完整导致的。以下是详细的解决方案步骤:


    分析问题

    1. 问题描述

      • 使用 mstsc 连接到 WSL2 的 Ubuntu 22.04。
      • 启动图形化应用程序(如 Verdi)时,屏幕闪烁但窗口未弹出。
      • 最终导致 mstsc 崩溃。
    2. 可能原因

      • WSL2 的虚拟显存不足(默认为 256MB)。
      • X 服务器配置不完整或未正确初始化。
      • 显示驱动程序兼容性问题。

    解决方案

    1. 扩展 WSL2 的虚拟显存

    默认情况下,WSL2 的虚拟显存大小为 256MB,对于复杂的图形化应用可能不够。可以通过以下步骤扩展虚拟显存:

    • 打开 PowerShell 或终端,运行以下命令:

      wsl --shutdown
      

      关闭所有正在运行的 WSL 实例。

    • 编辑 WSL 的默认配置文件:

      notepad $env:USERPROFILE\.wslconfig
      
    • 添加以下内容以增加虚拟显存:

      [wsl2]
      memory=4GB   # 将显存增加到 4GB
      processors=2 # 可选:增加处理器核心数
      
    • 保存文件并重启 WSL:

      wsl --shutdown
      wsl
      

    2. 配置 X 服务器

    确保 X 服务器在 WSL2 中正确配置并运行。可以使用 XmingVcXsrv 作为 Windows 上的 X 服务器。

    • 安装并运行 X 服务器(推荐 VcXsrv)。

    • 配置 WSL2 的 .bashrc 文件,添加以下内容:

      export DISPLAY=$(awk '/nameserver / {print $2; exit}' < /etc/resolv.conf 2>/dev/null):0
      export LIBGL_ALWAYS_INDIRECT=1
      
    • 重新加载 .bashrc 文件:

      source ~/.bashrc
      

    3. 检查并更新图形驱动程序

    确保 Windows 和 WSL2 的图形驱动程序是最新的:

    • 更新 Windows 显卡驱动程序:
      • 打开设备管理器 -> 显卡 -> 更新驱动程序。
    • 更新 WSL2 的内核和工具链:
      • 运行以下命令更新 WSL2:
        wsl --update
        

    4. 使用 xrdp 替代 mstsc

    mstsc 可能与 WSL2 的图形化支持存在兼容性问题。建议使用 xrdp 进行远程连接:

    • 在 WSL2 中安装 xrdp

      sudo apt update
      sudo apt install xrdp
      
    • 启动并启用 xrdp 服务:

      sudo systemctl enable xrdp
      sudo systemctl start xrdp
      
    • 在 Windows 上使用 RDP 客户端(如 Microsoft Remote Desktop)连接 WSL2。


    5. 调整 Verdi 的启动参数

    如果问题仍然存在,尝试调整 Verdi 的启动参数,确保其兼容 WSL2 的图形环境:

    • 修改启动命令,例如:

      verdi --no-splash --fullscreen
      
    • 如果需要调试,可以在启动时附加 --debug 参数:

      verdi --debug
      

    总结

    通过上述步骤,可以逐步排查并解决 WSL2 上图形界面崩溃的问题。关键点在于:

    1. 扩展 WSL2 的虚拟显存。
    2. 正确配置 X 服务器。
    3. 确保驱动程序和工具链最新。
    4. 使用更稳定的远程连接方式(如 xrdp)。

    如果问题仍未解决,请提供更多日志信息以便进一步分析。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月30日