WSL2打开GUI软件显示方框的解决方法

84 篇文章 1 订阅

项目场景:

WSL2是支持GUI应用的,而且页面的适配性也不错,很多大厂出的软件基本都没有错位的问题。但是有些时候会出现中文场景下方框的问题,接下来就协助你们解决方框的问题,简单到极点。


问题描述

以Ubuntu-22.04下面安装QQ音乐为例,打开之后可能出现显示各种方框的问题。

在这里插入图片描述

原因分析:

这个问题其实就是字体的问题,实测英文没有这个问题,中文有,可能日文或者韩文也有。由于我不用日文和韩文,所以不在讨论范围内。

Ubuntu默认字体:

ls /usr/share/fonts/
truetype

如果你啥字体也没装过,就只有这个文件夹。

ls /usr/share/fonts/truetype/
dejavu  freefont  ubuntu

下面有3个文件夹,每个文件夹下各有一些字体。但是,有些汉文软件使用的字体这几个文件夹下不包含。


解决方案:

解决方案其实很简单,缺哪个字体就安装哪个字体,不过这里采用暴力操作,直接把Windows11的字体全部安装上,一次性解决掉以后的问题。

首先,在Ubuntu的/usr/share/fonts下面建立一个windows11的文件夹。这个文件夹需要root权限,直接使用sudo创建即可。

sudo mkdir -p /usr/share/fonts/windows11

其次,将Windows11下的字体复制到这个文件夹下面。Windows11的字体在C:\Windows\Fonts文件夹下面,如果你的Windows11上运行QQ音乐没有方框的话,那么Ubuntu就没有方框,因为Windows11里面有那个字体,如果Windows11也有方框就无效。这个问题一般不会出现。

运行下面的命令,一般C盘都是/mnt/c,除非你的环境配置不对。那也没关系,手动复制进去就好。

sudo cp /mnt/c/Windows/Fonts/* /usr/share/fonts/windows11

效果展示:

一般不用做任何操作重新打开QQ音乐Linux版就可以恢复正常了。

ls /usr/share/fonts/
truetype  windows11
ls /usr/share/fonts/windows11/
8514fix.fon   BOOKOS.TTF                        Inkfree.ttf              YuGothM.ttc      cga40852.fon  couf1255.fon  ega80850.fon      malgun.ttf    segoepr.ttf    seriffr.fon   sserifeg.fon  vga857.fon
8514fixe.fon  BOOKOSB.TTF                       LeelUIsl.ttf             YuGothR.ttc      cga40857.fon  couf1256.fon  ega80852.fon      malgunbd.ttf  segoeprb.ttf   serifft.fon   sserifer.fon  vga860.fon
8514fixg.fon  BOOKOSBI.TTF                      LeelaUIb.ttf             app775.fon       cga40866.fon  couf1257.fon  ega80857.fon      malgunsl.ttf  segoesc.ttf    simfang.ttf   sserifet.fon  vga861.fon
8514fixr.fon  BOOKOSI.TTF                       LeelawUI.ttf             app850.fon       cga40869.fon  cour.ttf      ega80866.fon      marlett.ttf   segoescb.ttf   simhei.ttf    sseriff.fon   vga863.fon
8514fixt.fon  BSSYM7.TTF                        MTCORSVA.TTF             app852.fon       cga40woa.fon  courbd.ttf    ega80869.fon      micross.ttf   segoeui.ttf    simkai.ttf    sseriffe.fon  vga865.fon
8514oem.fon   CENTURY.TTF                       MTEXTRA.TTF              app855.fon       cga80737.fon  courbi.ttf    ega80woa.fon      mingliub.ttc  segoeuib.ttf   simsun.ttc    sseriffg.fon  vga866.fon
8514oeme.fon  Candara.ttf                       Nirmala.ttf              app857.fon       cga80850.fon  coure.fon     fms_metadata.xml  mmrtext.ttf   segoeuii.ttf   simsunb.ttf   sseriffr.fon  vga869.fon
8514oemg.fon  Candarab.ttf                      NirmalaB.ttf             app866.fon       cga80852.fon  couree.fon    framd.ttf         mmrtextb.ttf  segoeuil.ttf   smae1255.fon  sserifft.fon  vga932.fon
8514oemr.fon  Candarai.ttf                      NirmalaS.ttf             app932.fon       cga80857.fon  coureg.fon    framdit.ttf       modern.fon    segoeuisl.ttf  smae1256.fon  svgafix.fon   vga936.fon
8514oemt.fon  Candaral.ttf                      REFSAN.TTF               app936.fon       cga80866.fon  courer.fon    gadugi.ttf        monbaiti.ttf  segoeuiz.ttf   smae1257.fon  svgasys.fon   vga949.fon
8514sys.fon   Candarali.ttf                     REFSPCL.TTF              app949.fon       cga80869.fon  couret.fon    gadugib.ttf       msgothic.ttc  seguibl.ttf    smaf1255.fon  sylfaen.ttf   vga950.fon
8514syse.fon  Candaraz.ttf                      SIMLI.TTF                app950.fon       cga80woa.fon  courf.fon     georgia.ttf       msjh.ttc      seguibli.ttf   smaf1256.fon  symbol.ttf    vgaf1255.fon
8514sysg.fon  DUBAI-BOLD.TTF                    SIMYOU.TTF               arial.ttf        comic.ttf     courfe.fon    georgiab.ttf      msjhbd.ttc    seguiemj.ttf   smaf1257.fon  tahoma.ttf    vgaf1256.fon
8514sysr.fon  DUBAI-LIGHT.TTF                   STCAIYUN.TTF             arialbd.ttf      comicbd.ttf   courfg.fon    georgiai.ttf      msjhl.ttc     seguihis.ttf   smalle.fon    tahomabd.ttf  vgaf1257.fon
8514syst.fon  DUBAI-MEDIUM.TTF                  STFANGSO.TTF             arialbi.ttf      comici.ttf    courfr.fon    georgiaz.ttf      msyh.ttc      seguili.ttf    smallee.fon   taile.ttf     vgaf874.fon
85775.fon     DUBAI-REGULAR.TTF                 STHUPO.TTF               ariali.ttf       comicz.ttf    courft.fon    h8514fix.fon      msyhbd.ttc    seguisb.ttf    smalleg.fon   taileb.ttf    vgafix.fon
85855.fon     DejaVuSansMono-BoldOblique_0.ttf  STKAITI.TTF              ariblk.ttf       consola.ttf   couri.ttf     h8514oem.fon      msyhl.ttc     seguisbi.ttf   smaller.fon   times.ttf     vgafixe.fon
85f1255.fon   DejaVuSansMono-Bold_0.ttf         STLITI.TTF               bahnschrift.ttf  consolab.ttf  cvgafix.fon   h8514sys.fon      msyi.ttf      seguisli.ttf   smallet.fon   timesbd.ttf   vgafixg.fon
85f1256.fon   DejaVuSansMono-Oblique_0.ttf      STSONG.TTF               c8514fix.fon     consolai.ttf  cvgasys.fon   himalaya.ttf      mvboli.ttf    seguisym.ttf   smallf.fon    timesbi.ttf   vgafixr.fon
85f1257.fon   DejaVuSansMono_0.ttf              STXIHEI.TTF              c8514oem.fon     consolaz.ttf  desktop.ini   holomdl2.ttf      ntailu.ttf    sere1255.fon   smallfe.fon   timesi.ttf    vgafixt.fon
85f874.fon    Deng.ttf                          STXINGKA.TTF             c8514sys.fon     constan.ttf   dos737.fon    hvgafix.fon       ntailub.ttf   sere1256.fon   smallfg.fon   trebuc.ttf    vgaoem.fon
85s1255.fon   Dengb.ttf                         STXINWEI.TTF             calibri.ttf      constanb.ttf  dos869.fon    hvgasys.fon       pala.ttf      sere1257.fon   smallfr.fon   trebucbd.ttf  vgas1255.fon
85s1256.fon   Dengl.ttf                         STZHONGS.TTF             calibrib.ttf     constani.ttf  dosapp.fon    impact.ttf        palab.ttf     serf1255.fon   smallft.fon   trebucbi.ttf  vgas1256.fon
85s1257.fon   FZSTK.TTF                         SansSerifCollection.ttf  calibrii.ttf     constanz.ttf  ebrima.ttf    j8514fix.fon      palabi.ttf    serf1256.fon   ssee1255.fon  trebucit.ttf  vgas1257.fon
85s874.fon    FZYTK.TTF                         SegUIVar.ttf             calibril.ttf     corbel.ttf    ebrimabd.ttf  j8514oem.fon      palai.ttf     serf1257.fon   ssee1256.fon  verdana.ttf   vgas874.fon
ANTQUAB.TTF   GARA.TTF                          SegoeIcons.ttf           calibrili.ttf    corbelb.ttf   ega40737.fon  j8514sys.fon      phagspa.ttf   serife.fon     ssee1257.fon  verdanab.ttf  vgasys.fon
ANTQUABI.TTF  GARABD.TTF                        SitkaVF-Italic.ttf       calibriz.ttf     corbeli.ttf   ega40850.fon  javatext.ttf      phagspab.ttf  serifee.fon    ssee874.fon   verdanai.ttf  vgasyse.fon
ANTQUAI.TTF   GARAIT.TTF                        SitkaVF.ttf              cambria.ttc      corbell.ttf   ega40852.fon  jsmalle.fon       roman.fon     serifeg.fon    ssef1255.fon  verdanaz.ttf  vgasysg.fon
ARIALN.TTF    GOTHIC.TTF                        StaticCache.dat          cambriab.ttf     corbelli.ttf  ega40857.fon  jsmallf.fon       s8514fix.fon  serifer.fon    ssef1256.fon  vga737.fon    vgasysr.fon
ARIALNB.TTF   GOTHICB.TTF                       WINGDNG2.TTF             cambriai.ttf     corbelz.ttf   ega40866.fon  jvgafix.fon       s8514oem.fon  serifet.fon    ssef1257.fon  vga775.fon    vgasyst.fon
ARIALNBI.TTF  GOTHICBI.TTF                      WINGDNG3.TTF             cambriaz.ttf     coue1255.fon  ega40869.fon  jvgasys.fon       s8514sys.fon  seriff.fon     ssef874.fon   vga850.fon    webdings.ttf
ARIALNI.TTF   GOTHICI.TTF                       YuGothB.ttc              cga40737.fon     coue1256.fon  ega40woa.fon  l_10646.ttf       script.fon    seriffe.fon    sserife.fon   vga852.fon    wingding.ttf
BKANT.TTF     Gabriola.ttf                      YuGothL.ttc              cga40850.fon     coue1257.fon  ega80737.fon  lucon.ttf         segmdl2.ttf   seriffg.fon    sserifee.fon  vga855.fon

在这里插入图片描述

理论上,直接复制进去就可以,不用执行其他操作。我的电脑是这样的,如果你的还没有恢复,试试清除字体缓存

总结:

方法很暴力,但是贼好用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WSL 2是Windows Subsystem for Linux的第二个版本,可以在Windows操作系统上运行Linux发行版。WSL 2提供了更好的性能和兼容性,可以用于开发和运行Linux应用程序。 Ubuntu是WSL 2中最受欢迎的Linux发行版之一,拥有强大的功能和广泛的应用支持。在WSL 2中安装和配置Ubuntu非常简单,只需从Microsoft Store下载并安装。安装完成后,可以通过命令行访问Ubuntu,然后开始使用Linux命令和工具。 然而,在WSL 2中运行Ubuntu的命令行界面可能对一些用户来说不够友好,因为他们习惯于使用图形用户界面(GUI)。为了解决这个问题,可以安装并配置一个可选的GUI包,如X Server或VcXsrv,以在WSL 2中使用Ubuntu的图形界面。 这些GUI包允许用户在WSL 2中运行图形应用程序,并使用鼠标和键盘进行交互。用户可以通过在WSL 2中安装所需的图形应用程序和依赖项,然后通过GUI包在Windows的桌面环境中打开它们。这样,用户就可以同时享受Windows和Ubuntu的优势,无需切换操作系统或使用虚拟机。 需要注意的是,使用GUI包可能需要进行一些配置和调整,以确保图形应用程序能够正确显示并与WSL 2进行良好的集成。具体操作可以在网络上搜索相关教程或参考官方文档。值得一提的是,GUI包的性能可能不如在本机Linux系统上运行应用程序,但对于一些简单的图形任务和开发环境来说已经足够了。 总的来说,通过安装和配置GUI包,用户可以在WSL 2中使用Ubuntu的图形界面,同时充分利用Windows操作系统的优势和功能。 ### 回答2: WSL 2是一种在Windows操作系统上运行Linux发行版的技术,其中包括Ubuntu。在WSL 2中,用户可以通过命令行界面访问并操作Ubuntu系统。 在WSL 2中,默认情况下是没有图形用户界面(Graphical User Interface,GUI)的,因为它更专注于为开发者提供类似Linux环境的终端界面。然而,如果用户希望在WSL 2中使用GUI,可以进行一些额外的配置来实现。 要在WSL 2中安装和使用Ubuntu的GUI包,首先需要安装一个X Server应用程序,例如VcXsrv或Xming。这些软件允许将Linux图形应用程序的显示发送到Windows主机上的屏幕上。 安装X Server后,可以通过在WSL 2的Ubuntu终端中设置DISPLAY环境变量,将图形应用程序路由到X Server。在Ubuntu终端中输入以下命令进行设置: export DISPLAY=localhost:0 接下来,可以使用命令行安装和运行所需的Ubuntu图形应用程序。只需在Ubuntu终端中输入相应的命令即可。例如,可以使用apt-get命令安装图形应用程序,然后通过在终端中输入应用程序的名称来运行它。 请注意,WSL 2提供的图形支持仍然存在一些限制和局限性。由于WSL 2是一个虚拟化技术,图形应用程序在Windows宿主机和Ubuntu系统之间的显示和交互可能会有一些延迟和性能损失。另外,不是所有的图形应用程序都能在WSL 2中正常工作,特别是那些对硬件加速有依赖的应用程序。 总的来说,通过安装X Server和适当的配置,用户可以在WSL 2的Ubuntu系统中使用图形用户界面(GUI)包来运行图形应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值