~/.config/JetBrains/IntelliJIdea2024.3/idea64.vmoption 配置 -Dawt.toolkit.name=WLToolkit 添加了这行,使用 xwayland 时输入法可用
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
-Xmx4096m
-Dide.managed.by.toolbox=/home/falser/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox
-Dsun.java2d.uiScale.enabled=true
-Dtoolbox.notification.token=1f048724-9f7a-4a09-8c0c-df9d44ad8fda
-Dtoolbox.notification.portFile=/home/falser/.cache/JetBrains/Toolbox/ports/d3924f5b-a107-45fc-be02-dd3ccead9373.port
-Dawt.toolkit.name=WLToolkit
hyprctl clients,可以看到是运行到 wayland 下了
Window 5fcf54171d60 -> tongpulsar_console – ~/.config/JetBrains/IntelliJIdea2024.3/idea64.vmoptions:
mapped: 1
hidden: 0
at: 10,47
size: 2028,1095
workspace: 5 (5)
floating: 0
pseudo: 0
monitor: 0
class: jetbrains-idea
title: tongpulsar_console – ~/.config/JetBrains/IntelliJIdea2024.3/idea64.vmoptions
initialClass: jetbrains-idea
initialTitle:
pid: 83963
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenClient: 0
grouped: 0
tags:
swallowing: 0
focusHistoryID: 5
inhibitingIdle: 0
请问下各位大佬有解决办法吗
1
wwew 8 天前
用 fcitx5 ?
|
2
falser101 OP @wwew 是的,这是我的# 系统信息:
1. `uname -a`: Linux archlinux 6.13.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 22 Feb 2025 00:37:05 +0000 x86_64 GNU/Linux 2. `lsb_release -a`: LSB Version: n/a Distributor ID: Arch Description: Arch Linux Release: rolling Codename: n/a 3. `lsb_release -d`: Description: Arch Linux 4. `/etc/lsb-release`: DISTRIB_ID="Arch" DISTRIB_RELEASE="rolling" DISTRIB_DESCRIPTION="Arch Linux" 5. `/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 6. 桌面环境: 无法确定桌面环境。 7. XDG 会话类型: XDG_SESSION_TYPE='wayland' 8. Bash 版本: BASH_VERSION='5.2.37(1)-release' # 环境: 1. DISPLAY: DISPLAY=':1' WAYLAND_DISPLAY='wayland-1' 2. 键盘布局: 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)" }; }; 2. `xprop`: _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", "" 3. Locale: 1. 全部可用 locale: C C.utf8 en_US.utf8 POSIX zh_CN.utf8 2. 当前 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= 4. 目录: 1. 主目录: /home/falser 2. `${XDG_CONFIG_HOME}`: 环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/falser/.config` 。 `XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/falser/.config`)。 3. Fcitx5 设置目录: 当前 fcitx5 设置目录是 `~/.config/fcitx5` (`/home/falser/.config/fcitx5`)。 5. 当前用户: 脚本作为 falser (1000) 运行。 # Fcitx 状态: 1. 可执行文件: 在 `/usr/bin/fcitx5` 找到了 fcitx5 。 2. 版本: Fcitx 版本: `5.1.12` 3. 进程: 找到了 1 个 fcitx5 进程: 1923 fcitx5 4. `fcitx5-remote`: `fcitx5-remote` 工作正常。 5. DBus 界面: 使用 `dbus-send` 来检查 dbus 。 DBus 名称 `org.fcitx.Fcitx5` 的所有者是 `:1.57`。 DBus 名称 `org.fcitx.Fcitx5` 的 PID 所有者是 `1923`。 来自 dbus 的调试信息: Group [wayland:] has 8 InputContext(s) IC [f752447188e442f6a5c5ca9a475b6835] program:Microsoft-edge frontend:wayland_v2 cap:72 focus:0 IC [4e7d8373a09f4de79d478d003de70ba3] program:zen frontend:wayland_v2 cap:72 focus:0 IC [20de7386f9ed484ab47190baeed0b200] program:wechat frontend:wayland_v2 cap:100000072 focus:0 IC [b4340167e2ec40a1ac9c8016e77b40ed] program:jetbrains-idea frontend:wayland_v2 cap:100000072 focus:0 IC [221ed0f1d4094aedbc9c367c0a03ab8b] program:clash-verge frontend:wayland_v2 cap:100000072 focus:0 IC [04937c402873485e94731b323c8fc0d6] program:kitty frontend:wayland_v2 cap:100000072 focus:1 IC [0af76c523f9f405aab41ec0985f135ea] program:Feishu frontend:wayland_v2 cap:100000072 focus:0 IC [f7daf61527764077a4c8f25a26c74b5c] program: frontend:wayland_v2 cap:100000072 focus:0 Group [x11::1] has 3 InputContext(s) IC [2c1f7e758b4742feab0da104ea948313] program:microsoft-edge frontend:dbus cap:6000000032 focus:0 IC [fa590881e7964ceba0b5a7859b59cd8a] program:wechat frontend:fcitx4 cap:800072 focus:0 IC [630896dfafa74a928f3b7b95b84c2bf4] program:feishu frontend:dbus cap:6000000032 focus:0 Input Context without group # 前端设置: 此脚本检查的环境变量仅能显示当前命令行的环境。仍有可能您的环境并没有应用于整个桌面。您可以通过使用命令对某个无法正常工作的进程使用命令 `xargs -0 -L1 /proc/$PID/environ` 检查此进程的实际的环境变量。 ## Xim: 1. `${XMODIFIERS}`: 环境变量 XMODIFIERS 已经正确地设为了“@im=fcitx”。 从环境变量中获取的 Xim 服务名称为 fcitx. 2. 根窗口上的 XIM_SERVERS: Xim 服务的名称与环境变量中设置的相同。 ## Qt: 1. qt4 - `${QT4_IM_MODULE}`: 环境变量 QT_IM_MODULE 已经正确地设为了“fcitx”。 **`fcitx5-qt4-immodule-probing` 未找到.** 2. qt5 - `${QT_IM_MODULE}`: 环境变量 QT_IM_MODULE 已经正确地设为了“fcitx”。 使用 fcitx5-qt5-immodule-probing 来检查在当前环境下将被实际使用的输入法模块: QT_QPA_PLATFORM=wayland QT_IM_MODULE=fcitx IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext 3. qt6 - `${QT_IM_MODULE}`: 环境变量 QT_IM_MODULE 已经正确地设为了“fcitx”。 使用 fcitx5-qt6-immodule-probing 来检查在当前环境下将被实际使用的输入法模块: QT_QPA_PLATFORM=wayland QT_IM_MODULE=fcitx IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext 4. Qt 输入法模块文件: 找到了 fcitx5 的 qt 输入法模块:`/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。 找到了未知的 fcitx qt 模块:`/usr/lib/office6/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`。 找到了 fcitx5 qt6 模块:`/usr/lib/fcitx5/qt6/libfcitx-quickphrase-editor5.so`。 找到了 fcitx5 qt5 模块:`/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so`。 找到了未知的 fcitx qt 模块:`/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.so`。 找到了 fcitx5 的 qt6 输入法模块:`/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。 下列错误也许并不准确,因为对路径所对应的 Qt 版本的猜测取决于发行版如何打包 Qt 。如果您不使用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列错误也不是严重问题。 **无法找到 Qt4 的 fcitx5 输入法模块。** ## Gtk: 1. gtk - `${GTK_IM_MODULE}`: **请使用您发行版提供的工具将环境变量 GTK_IM_MODULE 设为 "fcitx" 或者将 `export GTK_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:GTK_IM_MODULE]( http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#GTK_IM_MODULE)。** **如果您的混成器完全支持 gtk 使用的 text-input 协议,您也可以使用 gtk 内置的 Wayland 模块。** 使用 fcitx5-gtk2-immodule-probing 来检查在当前环境下将被实际使用的输入法模块: GTK_IM_MODULE=xim 使用 fcitx5-gtk3-immodule-probing 来检查在当前环境下将被实际使用的输入法模块: GTK_IM_MODULE=wayland 使用 fcitx5-gtk4-immodule-probing 来检查在当前环境下将被实际使用的输入法模块: GTK_IM_MODULE=wayland 2. `gtk-query-immodules`: 1. gtk 2: 在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`。 版本行: # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33 已找到 gtk `2.24.33` 的 fcitx5 输入法模块。 "/usr/lib/gtk-2.0/2.10.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:*" 在 `/usr/bin/gtk-query-immodules-2.0-32` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`。 版本行: # Created by /usr/bin/gtk-query-immodules-2.0-32 from gtk+-2.24.33 **无法在 `/usr/bin/gtk-query-immodules-2.0-32` 的输出中找到 fcitx5 。** 2. gtk 3: 在 `/usr/bin/gtk-query-immodules-3.0` 找到了 gtk `3.24.48` 的 `gtk-query-immodules`。 版本行: # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.48 已找到 gtk `3.24.48` 的 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:*" 3. Gtk 输入法模块缓存: 1. gtk 2: 在 `/usr/lib/gtk-2.0/2.10.0/immodules.cache` 找到了 gtk `2.24.33` 的输入法模块缓存。 版本行: # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33 已找到 gtk `2.24.33` 的 fcitx5 输入法模块。 "/usr/lib/gtk-2.0/2.10.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:*" 在 `/usr/lib32/gtk-2.0/2.10.0/immodules.cache` 找到了 gtk `2.24.33` 的输入法模块缓存。 版本行: # Created by /usr/bin/gtk-query-immodules-2.0-32 from gtk+-2.24.33 **无法输入法模块缓存 `/usr/lib32/gtk-2.0/2.10.0/immodules.cache` 中找到 fcitx5** 2. gtk 3: 在 `/usr/lib/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.24.48` 的输入法模块缓存。 版本行: # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.48 已找到 gtk `3.24.48` 的 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:*" 4. Gtk 输入法模块文件: 1. gtk 2: 找到的全部 Gtk 2 输入法模块文件均存在。 2. gtk 3: 找到的全部 Gtk 3 输入法模块文件均存在。 3. gtk 4: 找到的全部 Gtk 4 输入法模块文件均存在。 |
3
falser101 OP 以上为 fcitx5-diagnose 的输出
|
5
mizuki9 8 天前
I use kde btw ,linux 桌面太分裂了,选个主流的坑少。
|
![]() |
7
cnt2ex 8 天前
我现在基本已经放弃在 wayland 上使用输入法了。只能等应用 wayland 的支持更好一点再说。
现在要么使用 wayland 就干脆不输入中文,要么就使用 x11 打开应用。 目前我知道的包括 chrome 系列( chromium/brave )、Electron 框架的 app (比如 vscode 、Electronmail )、jetbrain 系列等等都无法在 wayland 上使用输入法。但是 firefox 系列、thunderbird 可以。 |
8
mizuki9 8 天前
@cnt2ex 反正 kde 的 Wayland 支持还可以了,chromium 系、Electron 系按照 archlinux wiki 设置,Wayland 下 fcitx5 输入中文没有任何问题了。jetbrain 不清楚。 现在的 Wayland 我认为是比较成熟了,一两年前确实还是一坨,现在是我觉得是正常可用了
|
![]() |
9
ns09005264 8 天前
https://youtrack.jetbrains.com/issue/JBR-5672/Wayland-support-input-methods
可能 WLToolkit 还不支持 Input-Method-V3 或 V1 。 |
![]() |
10
cnt2ex 8 天前
@mizuki9 的确,我发现 chromium 系列和 electron 系列去年添加了 text-input-v3 的支持,可以正常使用输入法了。jetbrain 的似乎还没有。
|
![]() |
11
phithon 8 天前
Ubuntu 24.04 + wayland + gnome + ibus + rime ,没遇到过输入法问题
|
12
mizuki9 8 天前
@cnt2ex text-input-v3 有 bug ,说是 “由于对 text-input-v3 协议的理解不同,在使用 KWin 时会出现一些问题”,chrome 看 B 站长按右方向键快进无效,会变成连续跳跃几秒进度条。所以我还是用的 text-input-v1
|
![]() |
15
Maboroshii 7 天前
@phithon 我记得之前 ibus 有漏字的问题(主要是 chrome 系严重),现在已经解决了吗。
|
16
SmithJohn 7 天前
linux 上我直接就没装中文输入法.
能英文尽量英文,不能英文就用谷歌的网页输入法. |
![]() |
17
rayae 7 天前
jb 系列软件的 wayland 是测试版,还不支持输入法,官方回复已经在新建文件夹了
|
![]() |
18
FanyFull 7 天前 via Android
目前还不支持。早就说在开发中了,结果到现在杳无音讯。不知道为啥这么慢:
https://youtrack.jetbrains.com/issue/JBR-5672/Wayland-support-input-methods |
19
SP00F 7 天前
sway 也是,后来干脆切 kde 了
|
![]() |
20
minami 7 天前
说难听的,wayland 和 wayland 之间的差异比 x11 和 xwayland 之间的差异还大,wayland 生态就是个畸形的、到处分裂的怪胎,这一切都源于 wayland 开发团队的自以为是。说正经的,你光说在 wayland 下怎么怎么样,没有任何意义,你必须带上你的发行版和桌面环境信息,同样一个号称支持了 wayland 的程序,完全有可能在 GNOME 是好的,在其他桌面环境就是彻底不能用的
|
![]() |
21
phithon 7 天前
@Maboroshii 我好像没遇到过
|
25
yinaqu 4 天前
我记得 jetbrains 在开发 java 原生 wayland 支持,目前还没有实现 wayland 协议的 input method 协议吧?他们的进度是真的缓慢,要再等。https://youtrack.jetbrains.com/issue/JBR-5672/Wayland-support-input-methods
|
26
ztmzzz 1 小时 39 分钟前 via iPhone
hyprland 下,fcitx5 可以直接用啊,安装打开默认就是 wayland 。就是有缩放的情况下候选框不会正常缩放,还是原始比例。
|
![]() |
27
AlexHsu 1 小时 25 分钟前
vscode 能用 idea 就不写注释了吧 界面需要中文的时候我都是 google 网页输入法粘贴过去
|