在 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 字体,又兼顾中文显示质量:
- 安装 Ubuntu 字体包(如上)。
- 安装一个比较好的中文字体包,例如:
sudo apt install ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
- 配置 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
- 安装后退出/重新登录 WSL GUI 会话(或重启 X11 转发、VS Code 编辑器等)以确保字体设置生效。
- 在编辑器/终端里,手动设置字体为 “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 配置工具后,添加拼音输入法或其他中文输入法。按以下步骤操作:
- 打开 fcitx 配置工具:fcitx-config-gtk3
- 在输入法设置窗口中,点击“+”按钮,选择“拼音”输入法(或你喜欢的其他输入法)。
- 将拼音输入法添加到列表中。
下表列出了一些常用的 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 来切换输入法,尝试中文输入。
注意
- 确保你在 WSL 中安装了 X Server,以便显示输入法框架。
- 如果有问题,可以尝试检查环境变量配置是否生效。