标题: 给X11转发环境配置中文输入 创建: 2026-09-21 09:16 更新: 链接: https://scz.617.cn/unix/202609210916.txt https://mp.weixin.qq.com/s/bbKk155mt_94I1hcFCFfWA -------------------------------------------------------------------------- 目录: ☆ 前言 ☆ 失败现象 ☆ 解决方案 ☆ 简化解决方案 ☆ X11转发环境IBus输入法基础组件及排错指南 ☆ 后记 -------------------------------------------------------------------------- ☆ 前言 目标环境是,Ubuntu 26+Win10+MobaXterm 26.4。本文介绍如何给SSH X11转发环境 配置中文输入,不是给Ubuntu 26主桌面配置中文输入。二者有点关系,但不是一回 事。 关于Ubuntu 26主桌面中文输入,参看 《给英文版Ubuntu 26安装中文输入法》 https://scz.617.cn/unix/202608060900.txt 关于X11转发,参看 《Ubuntu 26+MobaXterm 26.4+X11转发》 https://scz.617.cn/unix/202609181600.txt ☆ 失败现象 在X11转发中得到GUI,但在Win10一侧无法输入中文。Win10的输入法,在X11 GUI中 无反应。Ubuntu 26的IBus输入法,在X11 GUI中呼不出来,按热键无反应;在主控台 正常。可Copy/Paste中文到X11 GUI中,无问题。 假设基准状态如上,后面介绍解决方案。 ☆ 解决方案 为减少不必要的麻烦与解释,先重启Ubuntu 26,确保主控台处于logout状态,再做 后续动作。如无特别说明,本节所有操作均在SSH shell中,非主控台。 检查DBUS_SESSION_BUS_ADDRESS环境变量是否有值,不能为空。其值有具体意义, 普通用户不必关心。 执行"ibus-daemon -dx"。尽管ps看到已经存在其他ibus-daemon进程,但与此步无关, 照做。ps检查,是否出现新的"ibus-x11"进程,必须有。 执行"ibus address",必须有输出,不能为空。若为空,表示上一步ibus-daemon启 动失败。 SSH X11转发环境是一个独立、隔离的环境,与主桌面环境无关,需给新环境配置输 入法。执行"ibus-setup",简单配置如下 -------------------------------------------------------------------------- General Keyboard Shortcuts Next input method Ctrl-Alt-Space Font and Style Show property panel Always Input Method Chinese - Intelligent Pinyin Chinese - WuBi-Jidian-86-JiShuag-6.0 English - English (US) Advanced Global Input method settings Share the same input method among all applications On -------------------------------------------------------------------------- 热键不要用Super-Space,会被Win10截胡。此配置持久化保存在相关文件中,重启后 仍有效。 设置环境变量 export XMODIFIERS='@im=ibus' 激动人心的时刻,执行 xterm& firefox& gedit& Ctrl-Alt-Space已能呼出中文输入法,候选词列表出现。可不用热键切换输入法,而 是在SSH shell中执行如下命令以切换输入法 ibus engine libpinyin ibus engine table:wubi-jidian86 ibus engine xkb:us::eng 假设IBus输入法热键被Win10截胡,命令行切换输入法就派上用场。 测试过程不要求提前将Win10输入法切至英文。若Ubuntu 26主控台处于login状态, 或有干扰,测试结果可能与上述文字不符。 ☆ 简化解决方案 前一节的介绍,带些排错性质。假设已按前一节内容完整走过一遍,以后再遇上同一 X11转发环境的中文输入需要,许多步骤可跳过,在SSH shell中执行如下命令即可 ibus-daemon -dx export XMODIFIERS='@im=ibus' firefox& ☆ X11转发环境IBus输入法基础组件及排错指南 a. DBUS_SESSION_BUS_ADDRESS环境变量不为空 b. 一个当前用户启动的ibus-daemon,不能是gdm-gre+这种用户,用ps检查 c. "ibus address"输出具体的值 d. 一个当前用户、当前DISPLAY启动的ibus-x11,用ps检查 e. export XMODIFIERS='@im=ibus' f. 热键不灵时用ibus engine切换输入法 dbus-daemon - ibus-daemon - ibus-x11 - X Server 纵观X11输入法框架,相关组件较多,组件间关系复杂,任一环节出问题,都将影响 X11转发环境IBus输入法。大多数文档并未揭示底层机制,只能撞大运式使用、排错。 ☆ 后记 结论,"Ubuntu 26+MobaXterm 26.4+X11转发"支持中文输入,但非开箱即用。 本文面向普通用户,做过简化处理,不涉及底层机制。高级用户参看 《Ubuntu 26 X11 Forwarding》 https://scz.617.cn/unix/202608111716.txt