给X11转发环境配置中文输入
原创 沈沉舟 2026-09-21 13:17 北京

Ubuntu 26+MobaXterm 26.4+X11转发,支持中文输入,但非开箱即用。
创建: 2026-09-21 09:16
链接: https://scz.617.cn/unix/202609210916.txt目录:
☆ 前言
☆ 失败现象
☆ 解决方案
☆ 简化解决方案
☆ X11转发环境IBus输入法基础组件及排错指南
☆ 后记☆ 前言
目标环境是,Ubuntu 26+Win10+MobaXterm 26.4。本文介绍如何给SSH X11转发环境配置中文输入,不是给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