必须取消“使用系统等宽字体”勾选,否则字体设置无效;选择noto sans mono cjk sc等宽中文字体并设字号12–13,vscode需单独配置terminal.integrated.fontfamily并刷新fontconfig缓存。

麒麟系统终端字体间距过大导致字符分离、阅读吃力,尤其在使用VSCode内置终端或远程SSH连接时频繁出现,根本原因是中文字体未正确匹配或VTE渲染引擎对CJK字符的字距计算异常。
确认并切换终端默认等宽字体
这一步必须做,否则后续所有调整都无效。银河麒麟终端默认启用“使用系统等宽字体”,但系统级等宽字体(如DejaVu Sans Mono)对中文支持差,字宽与字距严重失衡。
打开终端 → 顶部菜单栏【编辑】→【首选项】→ 选中“默认”配置文件 → 点击右侧【配置文件】按钮 → 切换到【外观】标签页。
取消勾选【使用系统等宽字体】→ 点击【字体】右侧【更改】→ 在字体列表中选择【Noto Sans Mono CJK SC】(非Noto Sans CJK SC,必须带“Mono”后缀)→ 字号设为12或13 → 点击确定保存。
关闭首选项窗口,新开终端窗口验证:中文字符应紧密排列,无明显空隙。若仍松散,说明字体未真正生效——【这是终端字体间距异常的首要原因,90%以上问题源于此】。
VSCode内置终端专用修复
VSCode使用的是Electron封装的VTE终端,其字体配置独立于系统终端,需单独干预。
方法一:图形化设置
VSCode内按Ctrl+,打开设置 → 左侧点击【用户】→【功能】→【终端】→ 在搜索框输入“font family”。
找到“Terminal > Integrated: Font Family”选项,在输入框中填入:【'Noto Sans Mono CJK SC', 'monospace'】(注意单引号和逗号分隔,末尾保留fallback字体)。
方法二:手动编辑settings.json
在设置界面右上角点击{}图标进入JSON模式 → 在大括号内添加一行:"terminal.integrated.fontFamily": "'Noto Sans Mono CJK SC', 'monospace'" → 保存文件。
重启VSCode,新建终端,观察中文字符间距是否恢复正常。若仍过大,说明VSCode加载了缓存字体——【必须关闭所有VSCode窗口再重开,仅重启窗口无效】。
强制刷新字体缓存并验证
字体切换后若未立即生效,大概率是fontconfig缓存未更新,旧字体索引仍在被调用。
第一步:在终端中执行命令刷新缓存:fc-cache -fv。
第二步:验证Noto Sans Mono CJK SC是否已注册:fc-list | grep -i "noto.*mono.*cjk",应输出至少一行含该字体路径的结果。
第三步:若无输出,说明字体包未安装。执行命令安装:sudo apt install fonts-noto-cjk(麒麟V10 SP3及以上版本已预装,老版本需手动补装)。
第四步:执行killall ukui-panel,强制桌面环境重载字体配置。











