Linux
ID: CODE在WAY

code在Wayland上运行的方法

December 26, 2025
2 min read
AsniyaAsniya

Arch + KDE Wayland 下 VS Code 中文输入法终极指南

[0x-ARC]
在 Arch Linux + KDE Plasma Wayland 环境下使用 VS Code,很多人会遇到中文输入法无法使用的问题。这篇文章总结了各种可用方法、可能遇到的坑,以及我最终成功的方案。

一、 前提条件

  1. 确认 KDE 会话为 Wayland

运行以下命令:

BASH
  1. echo $XDG_SESSION_TYPE

预期输出: wayland ⚠️ 注意: 如果是 x11,VS Code 无法原生支持 Wayland,请先登录 KDE Wayland 会话。

  1. 确认 VS Code 安装方式
BASH
  1. which code
  2. code --version

推荐安装方式:

BASH
  1. paru -S visual-studio-code-bin
  2. # 或
  3. sudo pacman -S code

⚠️ 警告: 不要使用 Flatpak 版本,因为 Flatpak 默认走 XWayland,会导致 flags 配置失效。

  1. 安装 fcitx5 中文输入法
BASH
  1. sudo pacman -S fcitx5 fcitx5-qt fcitx5-gtk fcitx5-chinese-addons fcitx5-configtool
  1. 安装推荐字体(可选,解决 HiDPI 模糊)
BASH
  1. sudo pacman -S ttf-jetbrains-mono noto-fonts-cjk

VS Code 配置示例: JSON

"editor.fontFamily": "JetBrains Mono, Noto Sans CJK SC", "editor.fontLigatures": true, "editor.fontSize": 15, "editor.lineHeight": 1.6, "window.zoomLevel": 0

二、 可行方案对比 方案 1:VS Code 原生 Wayland 配置方式: 修改 ~/.config/code-flags.conf Code snippet --ozone-platform=wayland --enable-wayland-ime --enable-features=WaylandWindowDecorations

存在问题: KDE 下 VS Code (Electron) 无法接收 fcitx5 Wayland 输入,导致中文输入无效。 结论: 理论可行,实际不可用 → 放弃。

方案 2:VS Code XWayland(最终成功方案) 核心思路: 保持 KDE Wayland 会话,fcitx5 以 Wayland 原生运行,但 VS Code 强制走 XWayland 模式。

优点: 中文输入 100% 可用,支持 HiDPI 缩放。

步骤 1:临时启动验证

BASH
  1. GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx \
  2. code --enable-features=UseOzonePlatform --ozone-platform=x11

✅ 如果测试中文输入可用,请继续进行永久配置。 步骤 2:修改 Desktop 文件

BASH
  1. mkdir -p ~/.local/share/applications
  2. cp /usr/share/applications/code.desktop ~/.local/share/applications/
  3. nano ~/.local/share/applications/code.desktop
  4. 找到 Exec= 行,修改为:
  5. Ini, TOML
  6. Exec=env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx /usr/bin/code --enable-features=UseOzonePlatform --ozone-platform=x11 %F

更新数据库:

BASH
  1. update-desktop-database ~/.local/share/applications

步骤 3:配置 fcitx5 Wayland 原生启动

创建 KDE 启动项:

BASH
  1. mkdir -p ~/.config/autostart
  2. nano ~/.config/autostart/fcitx5-wayland.desktop
  3. 写入以下内容:
  4. Ini, TOML
  5. [Desktop Entry]
  6. Type=Application
  7. Name=Fcitx5 (Wayland)
  8. Exec=env DISPLAY= WAYLAND_DISPLAY=wayland-0 fcitx5 -d
  9. X-KDE-AutostartPhase=1
  10. X-KDE-Wayland-Only=true
  11. NoDisplay=true

步骤 4:设置环境变量

BASH
  1. mkdir -p ~/.config/environment.d
  2. nano ~/.config/environment.d/fcitx5.conf
  3. 写入内容:
  4. Code snippet
  5. GTK_IM_MODULE=fcitx
  6. QT_IM_MODULE=fcitx
  7. XMODIFIERS=@im=fcitx
  8. SDL_IM_MODULE=fcitx

⚠️ 重要: 必须 注销 KDE 并重新登录 才能生效。 三、 常见坑点汇总 坑点 解决方法 注意事项 KDE 自动启动 fcitx5 走 XWayland 使用 autostart 强制 Wayland 必须在 Exec 中清空 DISPLAY 变量 flags 文件不生效 检查 ~/.config/code-flags.conf 确保无后缀、无中文符号 环境变量未注入 放在 ~/.config/environment.d/ 不要写在 .xprofile 或 .xinitrc 中 VS Code 原生 Wayland 输入失败 切回 XWayland 模式启动 这是 Electron 在 KDE 下的已知 Bug 候选框错位 / 跳动 切换到 XWayland 模式 目前无法通过单纯的 flags 完美解决 四、 总结

最终成功方案配置: 环境: KDE Wayland 会话。 输入法: fcitx5 以原生 Wayland 启动。 编辑器: VS Code 通过 XWayland 模式运行。

核心结论: 由于 Electron 的 Bug,在 KDE Wayland 下,目前最稳妥的方式是让 VS Code 走 XWayland 而 输入法走 Wayland。这样既能享受 Wayland 的流畅,又能保证中文输入的稳定性。

Status

VERIFIED_ARCHIVE

Integrity

ECC_CHECK_PASS

Checksum

ADDR_925F1FFBBBCA

Helpful?

Give it a star!