温馨提示×

怎么解决ubuntu vnc乱码

小樊
40
2026-10-24 16:57:14
栏目: 智能运维

Ubuntu 下 VNC 出现乱码(一般是中文变成方块、问号或乱码),核心原因通常是:VNC 会话没有使用正确的语言环境(locale)或缺少中文字体。下面按常见原因和解决办法说明。


一、确认并修复系统语言环境(最常见原因)

1. 查看当前 locale

locale

如果看到:

LANG=C
LC_ALL=C

或没有 zh_CN.UTF-8,VNC 很容易乱码。

2. 生成中文 locale

sudo apt update
sudo apt install locales
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8

3. 修改 VNC 启动脚本(关键)

编辑你的 VNC 启动文件,例如:

~/.vnc/xstartup

在文件开头加入:

export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8

示例(GNOME / Xfce 常见):

#!/bin/sh
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
startxfce4 &

然后重启 VNC:

vncserver -kill :1
vncserver :1

二、安装中文字体(中文变方块)

即使 locale 正确,没有字体也会乱码。

sudo apt install fonts-wqy-zenhei fonts-wqy-microhei

安装后重启 VNC 或重新登录。


三、使用正确的桌面环境

有些桌面在 VNC 下兼容性更好:

推荐

  • Xfce(最稳定)
  • MATE

安装 Xfce(如未安装)

sudo apt install xfce4 xfce4-goodies

.vnc/xstartup 使用:

startxfce4 &

四、VNC Server 类型建议

不同 VNC 表现不同:

VNC 说明
TigerVNC ✅ 推荐
RealVNC 商用,字体问题少
tightvnc 老,容易乱码

安装 TigerVNC:

sudo apt install tigervnc-standalone-server

五、客户端设置(也别忽略)

在 VNC 客户端中:

  • 编码选择 UTF-8
  • 不要强制使用非中文系统编码

六、快速自检清单 ✅

  • [ ] locale 是 zh_CN.UTF-8
  • [ ] 已安装中文字体
  • [ ] .vnc/xstartup 设置了 LANG
  • [ ] 使用 Xfce / MATE
  • [ ] VNC 已重启

如果你愿意,可以告诉我:

  • Ubuntu 版本(如 20.04 / 22.04)
  • 用的什么 VNC(TigerVNC / RealVNC / tightvnc)
  • 桌面环境(GNOME / Xfce)

我可以给你一份可直接用的 xstartup 配置。

0 踩