Miracle 2023-09-27 17:40 采纳率: 50%
浏览 11
已结题

WSL打开图形化程序子窗口无法点击

使用wsl2安装了Ubuntu,并安装了freesurfer这一软件,
但是我通过在Ubuntu输入Freeview打开主界面,再点击子命令窗时出现了bug,
有的窗口可以操作,有的无法点击。
无法点击的窗口可以通过点击主界面的开关键关掉。这是什么原因?

img


附上安装过程:https://surfer.nmr.mgh.harvard.edu/fswiki/FS7_wsl_ubuntu
因为现在wsl2原生支持运行图形化程序,我没安装xming,这个问题要在不安装xming等server的情况下解决
#wsl

  • 写回答

11条回答 默认 最新

  • 专家-赤兔[在线] 2023-09-27 17:42
    关注
    获得1.00元问题酬金

    引自免费微信小程序-皆我百晓生,希望对题主有所帮助,如有帮助,还望采纳。


    这个问题有可能是由于WSL 2的一些限制导致的。WSL 2的图形化支持是通过在Windows主机上运行X Server来实现的,而X Server和WSL 2之间的通信是通过网络连接来实现的。这种方式可能会导致一些与窗口焦点交互相关的问题。

    解决这个问题的一种方法是安装一个X Server,比如Xming,并将它配置为WSL 2的图形化输出目标。这样可以在WSL 2中打开的图形界面窗口就可以正常响应鼠标点击事件了。你可以按照以下步骤进行操作:

    1. 在Windows主机中安装Xming。(下载地址:https://xming.en.softonic.com/
    2. 启动Xming,并确保在其图标上右键单击,选择"Allow access from localhost"。
    3. 在WSL的终端中,运行以下命令来设置DISPLAY变量:
      export DISPLAY=localhost:0
      
    4. 然后运行Freeview并尝试打开子命令窗口,看看是否能够正常点击。

    如果安装Xming后仍然无法解决问题,那可能是其他与WSL 2和图形界面兼容性相关的问题。如果是这种情况,你可以尝试在WSL 1中运行图形化程序,或者将软件安装在Windows系统中并通过WSL来访问。

    希望这些信息能对你有所帮助!

    评论
  • Leodong. 2023-09-27 17:51
    关注
    获得0.80元问题酬金

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    【第一种实现方式】
    根据您提供的信息,问题可能是与WSL2和图形化应用程序的交互有关。在WSL2中运行图形化应用程序时,需要通过X服务器来显示应用程序的窗口。尽管您没有安装Xming或其他X服务器,但WSL2本身具有内置的X服务器支持。

    有时候,当您点击子窗口时,可能会发生窗口焦点的问题,导致无法与子窗口进行交互。这可能是由于WSL2的窗口管理机制和X服务器之间的某种冲突引起的。

    为了解决这个问题,您可以尝试以下方法:

    1. 升级WSL2:确保您正在运行最新版本的WSL2。您可以通过在Windows终端中运行以下命令来检查和安装更新:

      wsl --update
      
    2. 重启WSL2会话:尝试关闭所有WSL2相关的窗口,并重新打开一个新的WSL2终端会话,然后再次尝试运行Freeview。

    3. 调整窗口焦点:当子窗口无法点击时,您可以尝试点击主界面的开关键关掉子窗口,然后再次点击子命令窗口,看看是否能够获取焦点并进行交互。

    4. 检查DISPLAY环境变量:确保在WSL2终端中设置了正确的DISPLAY环境变量。您可以运行以下命令来检查:

      echo $DISPLAY
      

      如果显示为空或不正确,您可以尝试手动设置DISPLAY环境变量,例如:

      export DISPLAY=:0
      

    请注意,尽管WSL2原生支持运行图形化应用程序,但在某些情况下可能仍需要安装和配置X服务器(如Xming)来获得最佳的图形化应用程序体验。如果上述方法无法解决问题,您可以考虑安装和配置X服务器来支持Freeview的正常运行。

    希望这些方法能够帮助您解决问题。


    【第二种实现方式】
    这个问题可能是由于图形化程序在 Windows 子系统中的兼容性问题导致的。为了解决这个问题,你可以尝试以下方法:

    1. 确保你的 Windows 子系统已经更新到最新版本。可以通过打开 PowerShell 并运行以下命令来检查和更新子系统:
    wsl --set-default-version 2
    
    1. 尝试使用不同的图形化程序,例如 VcXsrv、Xming 或 VirtualGL。这些程序可以在不安装 Xming 的情况下运行,它们可以与 WSL 2 更好地集成。

    2. 如果问题仍然存在,你可以尝试在 Windows 子系统中安装一个全功能的 Linux 发行版,如 Ubuntu GNOME。这样,你可以在一个统一的环境下运行图形化程序和命令行工具,避免了 WSL 和 Windows 之间的兼容性问题。要安装 Ubuntu GNOME,请按照以下步骤操作:

      1. 打开 Microsoft Store,搜索 "Ubuntu"。
      2. 选择 "Ubuntu" 应用并安装。
      3. 安装完成后,打开 "开始" 菜单,找到 "Ubuntu" 并点击启动。
      4. 首次运行时,系统会提示你创建一个新的用户帐户及其密码。完成设置后,你将进入 Ubuntu 桌面环境。
      5. 现在你可以在 Ubuntu GNOME 中运行图形化程序,同时也可以访问 Windows 子系统中的命令行工具。

    希望以上方法能帮助你解决问题。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论
  • 杨得江-君临天下wyj 2023-09-27 20:43
    关注
    获得1.00元问题酬金
    
    export DISPLAY=localhost:0
    
    
    
    评论
  • 数据大魔王 2023-09-27 22:02
    关注
    获得1.20元问题酬金

    由于WSL 2仅提供了一种基于虚拟机的轻量级虚拟化环境,与Windows主机之间的图形显示存在一些限制。这些限制可能导致某些窗口或应用程序不可点击或无法操作。

    一种解决方法是启用WSL 2的Vsock功能,并在Windows主机上安装支持Vsock的RDP(远程桌面)客户端。这样,您可以通过RDP连接到WSL 2,并在Windows主机上显示图形界面。详细说明可以参考WSL 2的官方文档:https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps#accessing-linux-gui-apps-in-wsl2-via-a-remote-desktop-client

    另一种解决方法是安装一个X服务器,如XMing、VcXsrv或Cygwin/X,并在WSL 2中设置DISPLAY环境变量来将图形显示导向X服务器。安装X服务器后,您可以在WSL 2中打开终端,设置DISPLAY环境变量(如:export DISPLAY=localhost:0),然后运行您的图形应用程序,以便在Windows主机上显示图形界面。

    评论
  • yy64ll826 2023-09-28 11:15
    关注
    获得0.60元问题酬金
    评论
  • 心梓知识 2023-09-30 13:16
    关注
    获得0.80元问题酬金

    结合GPT给出回答如下请题主参考
    很抱歉,由于您没有提供详细的错误信息和代码案例,我无法给您提供具体的解决方案。以下是一些可能有用的建议:

    1. 确保您的操作系统和软件都是最新的版本,特别是您正在使用的WLS版本。

    2. 尝试在终端中运行程序,而不是通过图形化界面启动它。

    3. 检查您的显示设置,例如分辨率和缩放级别,是否对子窗口的显示产生影响。

    4. 检查您的鼠标和键盘是否正常工作,以及是否需要更换或修复。

    5. 如果可能,尝试使用其他类似的软件,查看是否会出现相同的问题。

    如果以上建议无法解决您的问题,请提供更多详细信息和代码案例,以便我们更好地帮助您解决问题。

    评论
  • bug菌¹ Java领域优质创作者 2023-10-02 17:44
    关注
    获得1.60元问题酬金

    这个问题可能与图形界面的设置有关,您可以尝试以下方法解决:

    1. 确认您已经安装了最新的Ubuntu和freesurfer版本,以确保没有已知的问题。

    2. 尝试调整窗口的位置和大小,以便其可以完全显示。有时窗口的底部可能被隐藏了,因此您无法点击子命令窗。

    3. 确认您的Ubuntu启用了“自动显示隐藏的窗口”选项。在Ubuntu的设置-外观-行为中,将该选项打开。

    4. 尝试在Ubuntu中运行以下命令:

    export LIBGL_ALWAYS_INDIRECT=1
    

    这将强制使用间接渲染,可能会解决窗口无法点击的问题。

    1. 确认您运行命令时是否正确地设置了DISPLAY环境变量。如果您没有安装Xming等X服务器,则需要设置DISPLAY变量,并确保它指向正确的IP地址和端口号。例如:
    export DISPLAY=localhost:0.0
    

    您还可以尝试使用其他的X服务器,如VcXsrv等。

    希望这些方法能够帮助您解决问题!

    评论
  • 关注
    获得0.80元问题酬金

    版本问题,建议更新到最新版

    评论
  • GIS工具开发 2023-10-04 22:59
    关注
    获得0.80元问题酬金

    升级最新版本后,试试

    评论
  • 会跑的小鹿 2023-10-04 23:42
    关注
    获得0.40元问题酬金

    版本有问题,升级后试试看

    评论
  • 玥轩_521 2023-09-27 17:43
    关注

    援引通义千问:
    在使用WSL2运行图形化程序时,可能会出现一些问题,例如无法点击子窗口。这个问题可能是因为WSL2的图形化界面没有正确地与主机的图形化界面进行连接。
    解决这个问题的一种方法是安装Xming等服务器,但是这可能需要在主机上安装额外的软件和配置。如果你不想安装Xming等服务器,你可以尝试以下方法:

    1. 尝试更新WSL2的内核和驱动程序。你可以使用WSL2的更新工具来更新它们。
    2. 尝试重新安装WSL2。你可以通过卸载现有的WSL2安装,并重新安装来解决这个问题。
    3. 尝试使用不同的图形化程序。有些图形化程序可能会更好地与WSL2进行配合。

    注意,这些方法可能无法解决所有的问题。如果你仍然无法解决问题,你可以尝试联系WSL2的开发者或技术支持人员,寻求他们的帮助。

    评论

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 修改了问题 9月27日
  • 创建了问题 9月27日

悬赏问题

  • ¥30 哈夫曼编码译码器打印树形项目
  • ¥20 求完整顺利登陆QQ邮箱的python代码
  • ¥15 怎么下载MySQL,怎么卸干净原来的MySQL
  • ¥15 网络打印机Ip地址自动获取出现问题
  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色