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

项目场景:

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

在这里插入图片描述

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

总结:

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

猜你喜欢

转载自blog.csdn.net/jiexijihe945/article/details/132313023