在网上找了很多办法,询问AI也尝试了很多办法但都没有解决
系统信息
- Kernel: Linux 7.0.5-arch1-1
- Locale: zh_CN.UTF-8
软件信息
- dms v1.4.6
- niri 26.04 (8ed0da4)
- typora 1.13.4
尝试过的办法
- 配置 Typora 的 Wayland 支持
尝试了在~/.config下创建配置文件typora-flags.conf,添加启动参数:
--ozone-platform-hint=auto
--enable-wayland-ime
最终效果无效。
- 修改 Typora 的桌面启动文件
编辑了Typora的启动器文件,修改内容如下:
Exec=typora %U --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime
最终效果无效。
- 再次修改Typora的桌面启动文件
修改内容如下:
Exec=env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx5 XMODIFIERS=@im=fcitx5 typora %u
最终也是失败。
没辙了,来求助社区的大佬们
我安装了typora-electron,但是依旧无法呼出fcitx5的中文输入 
诊断的输出是这样的:
系统信息:
-
uname -a:
Linux ArchComp 7.0.5-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 08 May 2026 09:29:23 +0000 x86_64 GNU/Linux
-
lsb_release:
lsb_release 未找到.
-
/etc/lsb-release:
/etc/lsb-release 未找到.
-
/etc/os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
-
桌面环境:
无法确定桌面环境。
-
XDG 会话类型:
XDG_SESSION_TYPE='wayland'
-
Bash 版本:
BASH_VERSION='5.3.9(1)-release'
环境:
-
DISPLAY:
DISPLAY=':0'
WAYLAND_DISPLAY='wayland-1'
-
键盘布局:
-
setxkbmap:
WARNING: Running setxkbmap against an Xwayland server
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
-
xprop:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
-
Locale:
-
全部可用 locale:
C
C.utf8
en_US.utf8
POSIX
zh_CN.utf8
-
当前 locale:
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
-
目录:
-
主目录:
/home/zhou_
-
${XDG_CONFIG_HOME}:
环境变量 XDG_CONFIG_HOME 没有设定。
XDG_CONFIG_HOME 的当前值是 ~/.config (/home/zhou_/.config)。
-
Fcitx5 设置目录:
当前 fcitx5 设置目录是 ~/.config/fcitx5 (/home/zhou_/.config/fcitx5)。
-
当前用户:
脚本作为 zhou_ (1000) 运行。
Fcitx 状态:
-
可执行文件:
在 /usr/bin/fcitx5 找到了 fcitx5。
-
版本:
Fcitx 版本: 5.1.19
-
进程:
找到了 1 个 fcitx5 进程:
1389 fcitx5
-
fcitx5-remote:
fcitx5-remote 工作正常。
-
DBus 界面:
使用 dbus-send 来检查 dbus。
DBus 名称 org.fcitx.Fcitx5 的所有者是 :1.25。
DBus 名称 org.fcitx.Fcitx5 的 PID 所有者是 1389。
来自 dbus 的调试信息:
Group [wayland:] has 4 InputContext(s)
IC [4c2e1dd7442c491a8975c3e66c13187f] program:kitty frontend:wayland_v2 cap:100000072 focus:1
IC [f3caf7478aee49379a1bd4686630223d] program:google-chrome frontend:wayland_v2 cap:d0072 focus:0
IC [4adc7c48ab1a43c9942a28e1d171dc53] program:org.gnome.Nautilus frontend:wayland_v2 cap:72 focus:0
IC [2edd84d7b9914afdaf56acb21e243cad] program: frontend:wayland_v2 cap:100000072 focus:0
Group [x11::0] has 2 InputContext(s)
IC [c6407ded38a749678f509cd5ac9425f3] program:wechat frontend:dbus cap:800072 focus:0
IC [1c90c39932a5405095df4daae9e1cd7e] program:wechat frontend:dbus cap:800072 focus:0
Input Context without group
前端设置:
此脚本检查的环境变量仅能显示当前命令行的环境。仍有可能您的环境并没有应用于整个桌面。您可以通过使用命令对某个无法正常工作的进程使用命令 xargs -0 -L1 /proc/$PID/environ 检查此进程的实际的环境变量。
Xim:
-
${XMODIFIERS}:
XMODIFIERS 没有设置
请使用您发行版提供的工具将环境变量 XMODIFIERS 设为 "@im**=fcitx" 或者将 export XMODIFIERS=@im=fcitx 添加到您的 ~/.xprofile 中。参见 输入法相关的环境变量:XMODIFIERS。**
从环境变量中获取的 Xim 服务名称为 fcitx.
-
根窗口上的 XIM_SERVERS:
Xim 服务的名称与环境变量中设置的相同。
Qt:
-
qt4 - ${QT4_IM_MODULE}:
请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 export QT_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中。参见 输入法相关的环境变量:QT_IM_MODULE。
fcitx5-qt4-immodule-probing 未找到.
-
qt5 - ${QT_IM_MODULE}:
请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 export QT_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中。参见 输入法相关的环境变量:QT_IM_MODULE。
如果您的混成器完全支持 qt5 使用的 text-input 协议,您也可以使用 qt5 内置的 Wayland 模块。
使用 fcitx5-qt5-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:
-
qt6 - ${QT_IM_MODULE}:
请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 export QT_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中。参见 输入法相关的环境变量:QT_IM_MODULE。
如果您的混成器完全支持 qt6 使用的 text-input 协议,您也可以使用 qt6 内置的 Wayland 模块。
使用 fcitx5-qt6-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:
QT_QPA_PLATFORM=wayland
QT_IM_MODULE=
IM_MODULE_CLASSNAME=QtWaylandClient::QWaylandInputContext
-
Qt 输入法模块文件:
找到了 fcitx5 的 qt6 输入法模块:/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so。
找到了未知的 fcitx qt 模块:/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.so。
找到了 fcitx5 qt6 模块:/usr/lib/fcitx5/qt6/libfcitx-quickphrase-editor5.so。
找到了 fcitx5 的 qt 输入法模块:/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so。
找到了未知的 fcitx qt 模块:/usr/lib/office6/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so。
下列错误也许并不准确,因为对路径所对应的 Qt 版本的猜测取决于发行版如何打包 Qt。如果您不使用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列错误也不是严重问题。
无法找到 Qt4 的 fcitx5 输入法模块。
Gtk:
-
gtk - ${GTK_IM_MODULE}:
请使用您发行版提供的工具将环境变量 GTK_IM_MODULE 设为 "fcitx" 或者将 export GTK_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中。参见 输入法相关的环境变量:GTK_IM_MODULE。
如果您的混成器完全支持 gtk 使用的 text-input 协议,您也可以使用 gtk 内置的 Wayland 模块。
fcitx5-gtk2-immodule-probing 未找到.
使用 fcitx5-gtk3-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:
GTK_IM_MODULE=wayland
使用 fcitx5-gtk4-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:
GTK_IM_MODULE=wayland
-
gtk-query-immodules:
-
gtk 2:
无法找到 gtk 2 的 gtk-query-immodules。
无法找到 gtk 2 的 fcitx5 输入法模块。
-
gtk 3:
在 /usr/bin/gtk-query-immodules-3.0 找到了 gtk 3.24.52 的 gtk-query-immodules。
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.52
已找到 gtk 3.24.52 的 fcitx5 输入法模块。
"/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so"
"fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*"
"fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*"
-
Gtk 输入法模块缓存:
-
gtk 2:
无法找到 gtk 2 的输入法模块缓存
无法在缓存中找到 gtk 2 的 fcitx5 输入法模块。
-
gtk 3:
在 /usr/lib/gtk-3.0/3.0.0/immodules.cache 找到了 gtk 3.24.52 的输入法模块缓存。
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.52
已找到 gtk 3.24.52 的 fcitx5 输入法模块。
"/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so"
"fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*"
"fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*"
-
Gtk 输入法模块文件:
-
gtk 2:
找到的全部 Gtk 2 输入法模块文件均存在。
-
gtk 3:
找到的全部 Gtk 3 输入法模块文件均存在。
-
gtk 4:
找到的全部 Gtk 4 输入法模块文件均存在。
配置:
Fcitx 插件:
-
插件配置文件目录:
找到了 fcitx5 的插件配置目录:/usr/share/fcitx5/addon。
-
插件列表:
-
找到了 21 个已启用的插件:
Classic User Interface 5.1.19
Clipboard 5.1.19
DBus 5.1.19
DBus Frontend 5.1.19
Emoji 5.1.19
Fcitx4 Frontend 5.1.19
IBus Frontend 5.1.19
Input method selector 5.1.19
Keyboard 5.1.19
KDE Input Method Panel 5.1.19
Status Notifier 5.1.19
Notification 5.1.19
Quick Phrase 5.1.19
Rime 5.1.13
Spell 5.1.19
Unicode 5.1.19
DBus Virtual Keyboard 5.1.19
Wayland 5.1.19
Wayland Input method frontend 5.1.19
XCB 5.1.19
X Input Method Frontend 5.1.19
-
找到了 0 个被禁用的插件:
-
插件库:
所有插件所需的库都被找到。
-
用户界面:
找到了 3 个已启用的用户界面插件:
Classic User Interface
KDE Input Method Panel
DBus Virtual Keyboard
输入法:
-
/home/zhou_/.config/fcitx5/profile:
[Groups/0]
# Group Name
Name=Default
# Layout
Default Layout=us
# Default Input Method
DefaultIM=rime
[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=
[Groups/0/Items/1]
# Name
Name=rime
# Layout
Layout=
[GroupOrder]
0=Default
日志:
-
date:
2026年 05月 12日 星期二 10:39:19 CST
-
/home/zhou_/.config/fcitx5/crash.log:
/home/zhou_/.config/fcitx5/crash.log 未找到.
警告:fcitx5-diagnose 的输出可能包含敏感信息,包括发行版名称,内核版本,正在运行的程序名称等。
尽管这些信息对于开发者诊断问题有帮助,请在公开发送到在线网站前检查并且根据需要移除的对应信息。
你好,我也曾遇到过同样的问题!
我的建议是在原来的 flag文件后面 append 这样一行:
--wayland-text-input-version=3
希望这对你有所帮助!
(其实你不嫌弃 x11 的界面简陋的话,也可以把 Typora 退化为 X11 模式,借助 xwayland 应该也可以解决这个问题)
感谢大佬!确确实实地解决了问题,这一阵我还在挨个找是哪里出了问题,去看dms的文档,去看niri的文档,archlinux wiki,各个AI也问了个遍,尝试了各种方法,我都想换成marktext了,最终还是不舍得买的typora的授权
,在我快要放弃的时候看到了大佬的回复,真是万分感谢!