在 WSL 上设置中文输入法的完整指南

277 阅读6分钟

在 WSL 上设置中文输入法的完整指南

在 WSL 上设置中文输入法的完整指南

在WSL(Windows Subsystem for Linux)中使用Ubuntu时,并不能直接使用中文输入法。本文将介绍如何在WSL的Ubuntu环境中配置和使用中文输入法。

配置中文环境

1. 安装中文支持包

首先,确保系统支持中文语言环境。可以通过以下命令安装中文语言包:

sudo apt update
sudo apt install language-pack-zh-hans

2. 设置系统语言环境

为了确保 WSL 中的中文支持正常工作,设置系统的语言环境为中文。你可以通过以下命令修改系统语言设置:

sudo update-locale LANG=zh_CN.UTF-8

这将设置系统的默认语言为简体中文,并启用 UTF-8 编码。

3. 配置终端字符集

确保你的终端字符集设置为支持 UTF-8。你可以通过修改终端配置文件来确保这一点。

对于 bash,你可以在 ~/.bashrc 或 ~/.profile 文件中添加以下内容,确保终端使用 UTF-8 编码:

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

然后运行

source ~/.bashrc

4. 验证编码支持

在终端中执行以下命令来验证中文编码支持:

locale

你应该看到类似以下输出,确认 LANG 和 LC_* 环境变量都设置为 zh_CN.UTF-8:

LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8

5. 测试中文输入和显示

你可以在终端中测试中文输入和显示,例如使用 echo 命令打印中文字符:

echo "你好,世界"

安装中文字体

也可以按照自己的喜好自行安装,这里就安装我最喜欢的 Ubuntu font

安装 Ubuntu 字体(英文/拉丁字母)

sudo apt update
sudo apt install fonts-ubuntu

这样系统就会把 Ubuntu 字体安装到 /usr/share/fonts/… 中。其实这个包在较新 Ubuntu 版本中可能已预装

安装完成后,刷新字体缓存:

sudo fc-cache -fv

⚠️ 关于中文(汉字)支持的问题

这里要提醒:Ubuntu 字体家族虽然覆盖多种语言(拉丁、希腊、西里尔等),“旨在”支持世界多语言。 但实践中,它并不等于一个「完整中文字体」(即对简体/繁体汉字也所有字形高质量支持)。 因此,如果你在 WSL 的 Ubuntu 中,经常用中文(编码、界面、终端输出、编辑器等),那么

  • 可能你看到的中文字符会 fallback(回退)到系统里已有的中文字体(如文泉驿/Noto CJK等)。例如有用户指出中文字体需要单独设置 Ask Ubuntu
  • 如果强行用 Ubuntu 字体来显示中文,有可能出现「缺字」「方块」「样式不匹配」等问题。
  • 因此,建议:把 Ubuntu 字体用于拉丁文字界面/英文环境/编辑器英文部分,而中文部分仍让系统使用一个专门的中文字体。或者你也可以安装一个覆盖汉字的中文字体,并让 fontconfig/fallback 优先使用该中文字体。

已有资料推荐在 Debian/Ubuntu 中安装中文字体:例如 ttf‑wqy‑zenhei、ttf‑wqy‑microhei、fonts‐arphic‑ukai、fonts‐arphic‑uming 等。Gist

此外,Ubuntu 社区也讨论用 Noto Sans CJK 系列来覆盖中文+日文+韩文逻辑。Ubuntu Community Hub

综合推荐配置(在 WSL Ubuntu 中)

以下是我做的一个「混合方案」,既用 Ubuntu 字体,又兼顾中文显示质量:

  1. 安装 Ubuntu 字体包(如上)。
  2. 安装一个比较好的中文字体包,例如:
sudo apt install ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
  1. 配置 fontconfig(字体配置)让 “Ubuntu” 字体用于拉丁文字/默认 UI 字体,同时让中文文字优先使用安装的中文字体。你可以编辑(或创建)用户级别的 ~/.fonts.conf,例如内容类似(示例,仅供参考):
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <!-- 对中文字符优先使用中文字体 -->
  <match target="pattern">
    <test name="lang" compare="contains">
      <string>zh</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>WenQuanYi Micro Hei</string>
      <string>AR PL UMing CN</string>
      <string>Ubuntu</string>
    </edit>
  </match>
  <!-- 对sans‑serif默认族先用Ubuntu,再fallback中文字体 -->
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Ubuntu</family>
      <family>WenQuanYi Micro Hei</family>
    </prefer>
  </alias>
</fontconfig>

也可以参考 AskUbuntu 上的类似配置Ask Ubuntu

  1. 安装后退出/重新登录 WSL GUI 会话(或重启 X11 转发、VS Code 编辑器等)以确保字体设置生效。
  2. 在编辑器/终端里,手动设置字体为 “Ubuntu” (对于英文)或 “Ubuntu, 中文字体” 这种组合也可。

安装输入法框架和中文输入法

1. 安装 fcitx 和中文输入法

首先,在 WSL 中的 Ubuntu 安装 fcitx 和所需的中文输入法。

sudo apt update
sudo apt install fcitx fcitx-pinyin fcitx-config-gtk fcitx-ui-classic
  • fcitx:是输入法框架。
  • fcitx-pinyin:是拼音输入法插件。
  • fcitx-config-gtk:是 fcitx 配置工具。
  • fcitx-ui-classic:是经典的 fcitx 配置界面。

2. 配置环境变量

为了确保 fcitx 能正常工作,需要配置一些环境变量。编辑 ~/.profile 文件,添加以下内容:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

保存文件并执行:

source ~/.profile

3.启动 fcitx

在 WSL 中,fcitx 可能需要通过 X server 来显示输入法框架。因此,首先确保已经安装并启动了 X server(例如 Xming 或 VcXsrv)。接着,在 WSL 中启动 fcitx:

fcitx &

你可以在终端输入 fcitx-config-gtk3 来配置 fcitx 输入法设置界面。

fcitx-config-gtk3

4. 配置中文输入法

启动 fcitx 配置工具后,添加拼音输入法或其他中文输入法。按以下步骤操作:

  1. 打开 fcitx 配置工具:fcitx-config-gtk3
  2. 在输入法设置窗口中,点击“+”按钮,选择“拼音”输入法(或你喜欢的其他输入法)。
  3. 将拼音输入法添加到列表中。

下表列出了一些常用的 fcitx 输入法:

语言输入法安装包名称
中文基于 SunPinyin 引擎的拼音输入法fcitx-sunpinyin
中文基于 libpinyin 引擎的拼音输入法fcitx-libpinyin
中文谷歌拼音输入法fcitx-googlepinyin
中文基于 Rime 引擎的输入法fcitx-rime
中文新酷音输入法fcitx-chewing
日文基于 Anthy 引擎的日文输入法fcitx-anthy
日文基于 mozc 引擎的日文输入法fcitx-mozc
日文假名-汉字转换器(kkc)日文输入法fcitx-kkc fcitx-kkc-dev
韩文韩语输入法fcitx-hangul
越南文基于 unikey 引擎的越南文输入法fcitx-unikey
僧伽罗文僧伽罗文输入法fcitx-sayura
中文码表类输入法fcitx-table fcitx-table-all

使用 sudo apt install <安装包名称> 进行安装。

然后选择 全局配置,将 切换激活 和 输入法切换 的快捷键修改掉(与微软拼音输入法快捷键冲突)

5. 测试输入法

确保在一个支持输入法的应用程序中进行测试,例如 gedit 或其他 GUI 编辑器。在输入时,按 Ctrl + Space 来切换输入法,尝试中文输入。

注意

  1. 确保你在 WSL 中安装了 X Server,以便显示输入法框架。
  2. 如果有问题,可以尝试检查环境变量配置是否生效。