Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

系统更新之后,chrome在wayland环境下fcitx5用不了 #996

Closed
hdm9527 opened this issue Mar 24, 2024 · 22 comments
Closed

系统更新之后,chrome在wayland环境下fcitx5用不了 #996

hdm9527 opened this issue Mar 24, 2024 · 22 comments

Comments

@hdm9527
Copy link

hdm9527 commented Mar 24, 2024

Describe the bug
今天更新之后,fcitx5不能用了,chrome使用xwayland运行fcitx5能用,不知道是哪个软件升级导致的

Specifically, it is Ok to write the issue in Chinese (either Simplified or Traditional), because lots of developers understand Chinese.
可以用中文(简体或繁体)汇报问题。

The opened issue might be closed right away if it is considered a configuration issue (E.g. required packages not installed, wrong environment variables, misconfiguration like not adding wrong input method engine to the configuration, etc), but you may continue to use the issue comment to follow up for support.

To Reproduce
Steps to reproduce the behavior:

输入法环境设置

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
INPUT_METHOD=fcitx
GLFW_IM_MODULE=ibus

chrome-flags.conf

--enable-features=VaapiVideoEncoder,WebRTCPipeWireCapturer
--disable-features=MediaRouter
--ozone-platform-hint=auto
--gtk-version=4 
--enable-features=TouchpadOverscrollHistoryNavigation

更新的软件

[2024-03-24T11:48:51+0800] [ALPM] upgraded adwaita-cursors (45.0-1 -> 46.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded libsysprof-capture (45.2-1 -> 46.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded util-linux-libs (2.39.3-2 -> 2.40rc2-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded glib2 (2.78.4-1 -> 2.80.0-2)
[2024-03-24T11:48:51+0800] [ALPM] upgraded librsvg (2:2.57.3-1 -> 2:2.58.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded gtk-update-icon-cache (1:4.12.5-1 -> 1:4.14.1-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded adwaita-icon-theme (45.0-1 -> 46.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded alsa-card-profiles (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:51+0800] [ALPM] upgraded gsettings-desktop-schemas (45.0-1 -> 46.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded util-linux (2.39.3-2 -> 2.40rc2-1)
[2024-03-24T11:48:51+0800] [ALPM] installed libei (1.2.1-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded at-spi2-core (2.50.2-1 -> 2.52.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded clash-meta-alpha-git (20240321.r0.g284b01ca-1 -> 20240323.r0.gd56a439a-1)
[2024-03-24T11:48:51+0800] [ALPM] installed cjson (1.7.17-1)
[2024-03-24T11:48:51+0800] [ALPM] installed sdl2_ttf (2.22.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded gstreamer (1.24.1-1 -> 1.24.1-2)
[2024-03-24T11:48:51+0800] [ALPM] upgraded gst-plugins-base-libs (1.24.1-1 -> 1.24.1-2)
[2024-03-24T11:48:51+0800] [ALPM] upgraded glib-networking (1:2.78.1-1 -> 1:2.80.0-1)
[2024-03-24T11:48:51+0800] [ALPM] upgraded gst-plugins-bad-libs (1.24.1-1 -> 1.24.1-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded tracker3 (3.6.0-3 -> 3.7.0-1)
[2024-03-24T11:48:52+0800] [ALPM] installed webkit2gtk-4.1 (2.44.0-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded libpipewire (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded pipewire (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded pipewire-audio (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded pipewire-jack (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded freerdp (2:2.11.4-1 -> 2:3.4.0-5)
[2024-03-24T11:48:52+0800] [ALPM] upgraded glibmm (2.66.6-1 -> 2.66.7-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded glibmm-2.68 (2.78.1-1 -> 2.80.0-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded libgirepository (1.78.1-1 -> 1.80.0-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gobject-introspection-runtime (1.78.1-1 -> 1.80.0-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gobject-introspection (1.78.1-1 -> 1.80.0-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gradle (8.6-1 -> 8.7-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gst-plugin-pipewire (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gst-plugins-base (1.24.1-1 -> 1.24.1-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gst-plugins-good (1.24.1-1 -> 1.24.1-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded gtk4 (1:4.12.5-1 -> 1:4.14.1-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded libadwaita (1:1.4.4-1 -> 1:1.5.0-1)
[2024-03-24T11:48:52+0800] [ALPM] upgraded pipewire-alsa (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded pipewire-pulse (1:1.0.4-1 -> 1:1.0.4-2)
[2024-03-24T11:48:52+0800] [ALPM] upgraded python-gobject (3.46.0-1 -> 3.48.1-2)
[2024-03-24T11:48:53+0800] [ALPM] upgraded webkit2gtk (2.42.5-2 -> 2.44.0-1)
[2024-03-24T11:48:53+0800] [ALPM] transaction completed
[2024-03-24T11:48:53+0800] [ALPM] running '20-systemd-sysusers.hook'...
[2024-03-24T11:48:53+0800] [ALPM] running '30-systemd-daemon-reload-system.hook'...
[2024-03-24T11:48:53+0800] [ALPM] running '30-systemd-daemon-reload-user.hook'...
[2024-03-24T11:48:53+0800] [ALPM] running '30-systemd-tmpfiles.hook'...
[2024-03-24T11:48:54+0800] [ALPM] running '30-systemd-udev-reload.hook'...
[2024-03-24T11:48:54+0800] [ALPM] running '30-systemd-update.hook'...
[2024-03-24T11:48:54+0800] [ALPM] running 'gdk-pixbuf-query-loaders.hook'...
[2024-03-24T11:48:54+0800] [ALPM] running 'gio-querymodules.hook'...
[2024-03-24T11:48:54+0800] [ALPM] running 'glib-compile-schemas.hook'...
[2024-03-24T11:48:55+0800] [ALPM] running 'gtk-update-icon-cache.hook'...
[2024-03-24T11:48:55+0800] [ALPM] running 'gtk4-querymodules.hook'...

Expected behavior
A clear and concise description of what you expected to happen.

Desktop (please complete the following information):

  • Desktop: Hyprland
  • Display server type: Wayland
  • The output of fcitx5-diagnose if possible.

系统信息:

  1. uname -a:

    Linux Arch 6.8.1-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Sat, 16 Mar 2024 17:15:23 +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.26(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/xxx
      
    2. ${XDG_CONFIG_HOME}:

      环境变量 XDG_CONFIG_HOME 没有设定。

      XDG_CONFIG_HOME 的当前值是 ~/.config (/home/xxx/.config)。

    3. Fcitx5 设置目录:

      当前 fcitx5 设置目录是 ~/.config/fcitx5 (/home/xxx/.config/fcitx5)。

  5. 当前用户:

    脚本作为 xxx (1000) 运行。

Fcitx 状态:

  1. 可执行文件:

    /usr/bin/fcitx5 找到了 fcitx5。

  2. 版本:

    Fcitx 版本: 5.1.8

  3. 进程:

    找到了 1 个 fcitx5 进程:

       1082 fcitx5
    
  4. fcitx5-remote:

    fcitx5-remote 工作正常。

  5. DBus 界面:

    使用 dbus-send 来检查 dbus。

    DBus 名称 org.fcitx.Fcitx5 的所有者是 :1.28

    DBus 名称 org.fcitx.Fcitx5 的 PID 所有者是 1082

    来自 dbus 的调试信息:

       Group [wayland:] has 3 InputContext(s)
      IC [b6fdaa909c5442408b12f4c3a06d1771] program:kitty frontend:wayland_v2 cap:100000072 focus:1
      IC [0dca44d870fd4019b9193857bc664cd1] program:Google-chrome frontend:wayland_v2 cap:100000072 focus:0
      IC [f0a13bf3d2314bc989ced08a1d863492] program: frontend:wayland_v2 cap:100000072 focus:0
    Group [x11::1] has 1 InputContext(s)
      IC [8b24bfabfe4f46ad9343920322051a27] program:google-chrome frontend:dbus cap:6000000032 focus:0
    Input Context without group
    

Fcitx 配置界面:

  1. 配置工具封装:

    /usr/bin/fcitx5-configtool 找到了 fcitx5-configtool。

  2. Qt 的配置界面:

    /usr/bin/fcitx5-config-qt 找到了 fcitx5-config-qt

  3. KDE 的配置界面:

    kcmshell5 未找到.

前端设置:

此脚本检查的环境变量仅能显示当前命令行的环境。仍有可能您的环境并没有应用于整个桌面。您可以通过使用命令对某个无法正常工作的进程使用命令 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
    找到了 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 qt5 模块:/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so
    找到了未知的 fcitx qt 模块:/usr/lib/office6/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

    下列错误也许并不准确,因为对路径所对应的 Qt 版本的猜测取决于发行版如何打包 Qt。如果您不使用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列错误也不是严重问题。
    无法找到 Qt4 的 fcitx5 输入法模块。

Gtk:

  1. gtk - ${GTK_IM_MODULE}:

    环境变量 GTK_IM_MODULE 已经正确地设为了“fcitx”。

    使用 fcitx5-gtk2-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

    使用 fcitx5-gtk3-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

    GTK_IM_MODULE=fcitx
    

    使用 fcitx5-gtk4-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

    GTK_IM_MODULE=fcitx
    
  2. gtk-query-immodules:

    1. gtk 2:

      无法找到 gtk 2 的 gtk-query-immodules

      无法找到 gtk 2 的 fcitx5 输入法模块。

    2. gtk 3:

      /usr/bin/gtk-query-immodules-3.0 找到了 gtk 3.24.41gtk-query-immodules
      版本行:

      # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.41
      

      已找到 gtk 3.24.41 的 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:

      无法找到 gtk 2 的输入法模块缓存

      无法在缓存中找到 gtk 2 的 fcitx5 输入法模块。

    2. gtk 3:

      /usr/lib/gtk-3.0/3.0.0/immodules.cache 找到了 gtk 3.24.41 的输入法模块缓存。
      版本行:

      # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.41
      

      已找到 gtk 3.24.41 的 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 输入法模块文件均存在。

配置:

Fcitx 插件:

  1. 插件配置文件目录:

    找到了 fcitx5 的插件配置目录:/usr/share/fcitx5/addon

  2. 插件列表:

    1. 找到了 28 个已启用的插件:

      Simplified and Traditional Chinese Translation 5.1.4
      Classic User Interface 5.1.8
      Clipboard 5.1.8
      Cloud Pinyin 5.1.4
      DBus 5.1.8
      DBus Frontend 5.1.8
      Emoji 5.1.8
      Fcitx4 Frontend 5.1.8
      Full width character 5.1.4
      IBus Frontend 5.1.8
      Input method selector 5.1.8
      Keyboard 5.1.8
      KDE Input Method Panel 5.1.8
      Mozc 
      Status Notifier 5.1.8
      Notification 5.1.8
      Pinyin 5.1.4
      Extra Pinyin functionality 5.1.4
      Punctuation 5.1.4
      Quick Phrase 5.1.8
      Spell 5.1.8
      Table 5.1.4
      Unicode 5.1.8
      DBus Virtual Keyboard 5.1.8
      Wayland 5.1.8
      Wayland Input method frontend 5.1.8
      XCB 5.1.8
      X Input Method Frontend 5.1.8
      
    2. 找到了 0 个被禁用的插件:

  3. 插件库:

    所有插件所需的库都被找到。

  4. 用户界面:

    找到了 3 个已启用的用户界面插件:

    Classic User Interface
    KDE Input Method Panel
    DBus Virtual Keyboard
    

输入法:

  1. /home/xxx/.config/fcitx5/profile:

    [Groups/0]
    # Group Name
    Name=默认
    # Layout
    Default Layout=us
    # Default Input Method
    DefaultIM=pinyin
    
    [Groups/0/Items/0]
    # Name
    Name=keyboard-us
    # Layout
    Layout=
    
    [Groups/0/Items/1]
    # Name
    Name=pinyin
    # Layout
    Layout=
    
    [Groups/0/Items/2]
    # Name
    Name=mozc
    # Layout
    Layout=
    
    [GroupOrder]
    0=默认
    

Additional context
Add any other context about the problem here.

@KairuiLiu
Copy link

KairuiLiu commented Mar 24, 2024

遇到了同样的问题

我们共同更新的软件有

adwaita-cursors
adwaita-icon-theme
at-spi2-core
cjson
freerdp
glib-networking
glib2
glibmm
glibmm-2.68
gobject-introspection-runtime
gsettings-desktop-schemas
gst-plugins-bad-libs
gst-plugins-base
gst-plugins-base-libs
gst-plugins-good
gstreamer
gtk-update-icon-cache
gtk4
libadwaita
libgirepository
libpipewire
librsvg
libsysprof-capture
pipewire
python-gobject
sdl2_ttf
tracker3
util-linux
util-linux-libs
webkit2gtk
webkit2gtk-4.1

@ktech0
Copy link

ktech0 commented Mar 25, 2024

增加chrome启动参数:--enable-wayland-ime

@hdm9527
Copy link
Author

hdm9527 commented Mar 25, 2024

增加chrome启动参数:--enable-wayland-ime

这个参数有提示框,但是输入不了,还有错位问题,跑到左上角去了
image

@ktech0
Copy link

ktech0 commented Mar 25, 2024

不要用参数--gtk-version=4。

我用这些参数就够了
--ozone-platform-hint=auto
--enable-features=TouchpadOverscrollHistoryNavigation
--enable-wayland-ime

环境变量
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
XIM=fcitx
XIM_PROGRAM=fcitx

我也是用hyprland,升级到最新没什么问题
可能系统哪里配置有问题,试试重装
这个可能可以参考:https://zhuanlan.zhihu.com/p/690062589

@hdm9527
Copy link
Author

hdm9527 commented Mar 25, 2024

--gtk-version=4

我知道--gtk-version=4参数跟--enable-wayland-ime是冲突的,我用的是hyprland,试了你的参数还是不行

@KairuiLiu
Copy link

KairuiLiu commented Mar 25, 2024

我尝试了一下, 也不行 (感觉是软件包的问题, chrome 最近没有更新过)

swappy-20240326_052152

@KairuiLiu
Copy link

我发现 chrome 似乎并没有跑在 gtk4 上, 并且没有加载输入法模块

# Chrome without any flags (用xwayland)
❯ for pid in $(pidof chrome); do
        grep -i gtk /proc/"$pid"/maps
done
7cc004d88000-7cc004d8e000 r--p 00000000 103:06 4856954                   /usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so
7cc004d8e000-7cc004d9b000 r-xp 00006000 103:06 4856954                   /usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so
7cc004d9b000-7cc004d9e000 r--p 00013000 103:06 4856954                   /usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so
7cc004d9e000-7cc004d9f000 r--p 00016000 103:06 4856954                   /usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so
7cc004d9f000-7cc004da0000 rw-p 00017000 103:06 4856954                   /usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so
7cc004e00000-7cc004e84000 r--p 00000000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7cc004e84000-7cc005219000 r-xp 00084000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7cc005219000-7cc0055c3000 r--p 00419000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7cc0055c3000-7cc0055d3000 r--p 007c2000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7cc0055d3000-7cc0055d5000 rw-p 007d2000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7cc00cc04000-7cc00cc32000 r--p 00000000 103:06 4767581                   /usr/share/locale/zh_CN/LC_MESSAGES/gtk30-properties.mo
7cc00e693000-7cc00e694000 r--p 00000000 103:06 5000829                   /usr/lib/gtk-3.0/modules/libcolorreload-gtk-module.so
7cc00e694000-7cc00e695000 r-xp 00001000 103:06 5000829                   /usr/lib/gtk-3.0/modules/libcolorreload-gtk-module.so
7cc00e695000-7cc00e696000 r--p 00002000 103:06 5000829                   /usr/lib/gtk-3.0/modules/libcolorreload-gtk-module.so
7cc00e696000-7cc00e697000 r--p 00002000 103:06 5000829                   /usr/lib/gtk-3.0/modules/libcolorreload-gtk-module.so
7cc00e697000-7cc00e698000 rw-p 00003000 103:06 5000829                   /usr/lib/gtk-3.0/modules/libcolorreload-gtk-module.so
7cc00e698000-7cc00e699000 r--p 00000000 103:06 5000830                   /usr/lib/gtk-3.0/modules/libwindow-decorations-gtk-module.so
7cc00e699000-7cc00e69a000 r-xp 00001000 103:06 5000830                   /usr/lib/gtk-3.0/modules/libwindow-decorations-gtk-module.so
7cc00e69a000-7cc00e69b000 r--p 00002000 103:06 5000830                   /usr/lib/gtk-3.0/modules/libwindow-decorations-gtk-module.so
7cc00e69b000-7cc00e69c000 r--p 00002000 103:06 5000830                   /usr/lib/gtk-3.0/modules/libwindow-decorations-gtk-module.so
7cc00e69c000-7cc00e69d000 rw-p 00003000 103:06 5000830                   /usr/lib/gtk-3.0/modules/libwindow-decorations-gtk-module.so
7cc00e69d000-7cc00e6b7000 r--p 00000000 103:06 4767582                   /usr/share/locale/zh_CN/LC_MESSAGES/gtk30.mo

# Chrome --ozone-platform-hint=auto --gtk-version=4 
❯ for pid in $(pidof chrome); do
        grep -i gtk /proc/"$pid"/maps
done
777f3e000000-777f3e084000 r--p 00000000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
777f3e084000-777f3e419000 r-xp 00084000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
777f3e419000-777f3e7c3000 r--p 00419000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
777f3e7c3000-777f3e7d3000 r--p 007c2000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
777f3e7d3000-777f3e7d5000 rw-p 007d2000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
777f52c40000-777f52c6e000 r--p 00000000 103:06 4767581                   /usr/share/locale/zh_CN/LC_MESSAGES/gtk30-properties.mo
777f52c6e000-777f52c88000 r--p 00000000 103:06 4767582                   /usr/share/locale/zh_CN/LC_MESSAGES/gtk30.mo

# Chrome --ozone-platform-hint=auto --enable-wayland-ime 
❯ for pid in $(pidof chrome); do
        grep -i gtk /proc/"$pid"/maps
done
7f8481200000-7f8481284000 r--p 00000000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7f8481284000-7f8481619000 r-xp 00084000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7f8481619000-7f84819c3000 r--p 00419000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7f84819c3000-7f84819d3000 r--p 007c2000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7f84819d3000-7f84819d5000 rw-p 007d2000 103:06 4760090                   /usr/lib/libgtk-3.so.0.2409.32
7f8495e7f000-7f8495ead000 r--p 00000000 103:06 4767581                   /usr/share/locale/zh_CN/LC_MESSAGES/gtk30-properties.mo
7f8495ead000-7f8495ec7000 r--p 00000000 103:06 4767582                   /usr/share/locale/zh_CN/LC_MESSAGES/gtk30.mo

@wengxt
Copy link
Member

wengxt commented Mar 26, 2024 via email

@wengxt
Copy link
Member

wengxt commented Mar 26, 2024

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

@wengxt wengxt closed this as completed Mar 26, 2024
@KairuiLiu
Copy link

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

没有输出, 关掉 grep 在开关输入法的时候可以看到如下输出

[ 23091.324] wl_keyboard@3.key(36940, 10998943, 57, 0)
[ 23155.524] wl_keyboard@3.key(36941, 10999007, 57, 1)
[ 23250.598] wl_keyboard@3.key(36942, 10999103, 57, 0)
[ 23309.049] wl_keyboard@3.key(36943, 10999161, 57, 1)
[ 23549.384] wl_keyboard@3.key(36944, 10999401, 57, 0)
[ 24790.470] wl_keyboard@3.key(36945, 11000642, 29, 0)
[ 24790.828] wl_keyboard@3.modifiers(36946, 0, 0, 0, 0)
[ 33521.285] wl_keyboard@3.key(36947, 11009373, 42, 1)
[ 33521.618] wl_keyboard@3.modifiers(36948, 1, 0, 0, 0)
[ 33562.296] wl_keyboard@3.key(36949, 11009414, 125, 1)
[ 33562.638] wl_keyboard@3.modifiers(36950, 65, 0, 0, 0)
[ 34249.716] wl_keyboard@3.leave(36957, wl_surface@6)
[ 34249.757] wl_pointer@33.leave(36973, wl_surface@6)
[ 34249.923] wl_pointer@33.frame()
[ 34249.928] xdg_toplevel@43.configure(960, 1056, array[16])
[ 34250.550] xdg_surface@42.configure(36958)
[ 34250.569] -> xdg_surface@42.ack_configure(36958)
[ 34257.331] -> wl_surface@6.frame(new id wl_callback@47)
[ 34257.350] -> wp_presentation@16.feedback(wl_surface@6, new id wp_presentation_feedback@50)
[ 34257.354] -> wl_surface@6.attach(wl_buffer@40, 0, 0)
[ 34257.365] -> wl_surface@6.damage(0, 0, 960, 1056)
[ 34257.367] -> wl_surface@6.commit()
[ 34258.008] wl_buffer@45.release()
[ 34259.460] wl_display@1.delete_id(47)
[ 34259.472] wl_callback@47.done(11010112)
[ 34269.820] wl_display@1.delete_id(50)
[ 34269.845] wp_presentation_feedback@50.sync_output(wl_output@31)
[ 34269.851] wp_presentation_feedback@50.presented(0, 11010, 121851000, 10000000, 0, 189904, 7)
[ 43179.876] wl_keyboard@3.enter(36989, wl_surface@6, array[0])
[ 43179.916] wl_keyboard@3.modifiers()

@hdm9527
Copy link
Author

hdm9527 commented Mar 26, 2024

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

有提示框,但是打完字选择中文后没有任何反应

❯ WAYLAND_DEBUG=1 google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1
[1066774.943]  -> zwp_text_input_manager_v1@29.create_text_input(new id zwp_text_input_v1@39)
[1066914.618] zwp_text_input_v1@39.enter(wl_surface@35)
[1066914.846]  -> zwp_text_input_v1@39.set_cursor_rectangle(0, 0, 0, 0)
[1066914.862]  -> zwp_text_input_v1@39.set_cursor_rectangle(0, 0, 0, 0)
[1071504.902]  -> zwp_text_input_v1@39.reset()
[1071509.149]  -> zwp_text_input_v1@39.reset()
[1071673.175]  -> zwp_text_input_manager_v1@29.create_text_input(new id zwp_text_input_v1@55)
[1071753.662]  -> zwp_text_input_v1@39.reset()
[1071755.979] zwp_text_input_v1@39.leave()
[1071772.108]  -> zwp_text_input_v1@39.hide_input_panel()
[1071772.111]  -> zwp_text_input_v1@39.deactivate(wl_seat@15)
[1071838.894] zwp_text_input_v1@55.enter(wl_surface@50)
[1071841.201]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1071841.263]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1072577.228]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1072577.244]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1072784.196]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1072863.706]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1072913.617]  -> zwp_text_input_v1@55.set_cursor_rectangle(0, 0, 0, 0)
[1073185.415]  -> zwp_text_input_v1@55.reset()
[1073185.422]  -> zwp_text_input_v1@55.activate(wl_seat@15, wl_surface@50)
[1073185.426]  -> zwp_text_input_v1@55.set_content_type(0, 5)
[1073185.427]  -> zwp_text_input_v1@55.show_input_panel()
[1073185.430]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1073185.435]  -> zwp_text_input_v1@55.set_surrounding_text("github.com/fcitx/fcitx5/issues/996", 0, 0)
[1073185.444]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1073185.623]  -> zwp_text_input_v1@55.show_input_panel()
[1073185.643]  -> zwp_text_input_v1@55.set_cursor_rectangle(216, 54, 1, 18)
[1073185.646]  -> zwp_text_input_v1@55.set_surrounding_text("github.com/fcitx/fcitx5/issues/996", 9, 9)
[1073317.117]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1073317.137]  -> zwp_text_input_v1@55.set_surrounding_text("github.com/fcitx/fcitx5/issues/996", 34, 0)
[1074679.657]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074701.453]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074720.065]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074736.818]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074753.469]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074770.440]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074795.375]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074823.413]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074837.797]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074854.228]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074871.254]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074887.782]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074904.160]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1074921.035]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1078143.945]  -> zwp_text_input_v1@55.set_cursor_rectangle(160, 54, 1, 18)
[1078143.968]  -> zwp_text_input_v1@55.set_surrounding_text(" ", 1, 1)
[1078144.955]  -> zwp_text_input_v1@55.set_cursor_rectangle(160, 54, 1, 18)
[1085276.652]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1085276.669]  -> zwp_text_input_v1@55.set_surrounding_text("", 0, 0)
[1085277.297]  -> zwp_text_input_v1@55.reset()
[1085456.569]  -> zwp_text_input_v1@55.reset()
[1085652.604]  -> zwp_text_input_v1@55.reset()
[1091212.775]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1091212.790]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1091212.958]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1091226.332]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1091244.627]  -> zwp_text_input_v1@55.set_cursor_rectangle(157, 54, 1, 18)
[1092076.487]  -> zwp_text_input_v1@55.reset()
[1092076.503]  -> zwp_text_input_v1@55.hide_input_panel()
[1092076.510]  -> zwp_text_input_v1@55.deactivate(wl_seat@15)
[1092076.829]  -> zwp_text_input_v1@55.reset()
[1107521.399] zwp_text_input_v1@55.leave()
[1107521.923]  -> zwp_text_input_v1@55.reset()

@hdm9527
Copy link
Author

hdm9527 commented Mar 26, 2024

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

经过测试,开源版chromium使用--enable-wayland-ime参数能正常使用fcitx5,提示框位置正常,使用--gtk-version=4参数不能使用fcitx5
闭源版的chrome用不了fcitx5,--enable-wayland-ime和--gtk-version=4试了都不行。

chromium的同步功能要自己折腾,所以一直在用chrome

@command-z-z
Copy link

command-z-z commented Mar 28, 2024

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

经过测试,开源版chromium使用--enable-wayland-ime参数能正常使用fcitx5,提示框位置正常,使用--gtk-version=4参数不能使用fcitx5 闭源版的chrome用不了fcitx5,--enable-wayland-ime和--gtk-version=4试了都不行。

chromium的同步功能要自己折腾,所以一直在用chrome

do you have check other software which are running in Xwayland, i have the same problem, the typing bar appears in the left-up corner and can't input any thing

@hdm9527
Copy link
Author

hdm9527 commented Mar 28, 2024

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

经过测试,开源版chromium使用--enable-wayland-ime参数能正常使用fcitx5,提示框位置正常,使用--gtk-version=4参数不能使用fcitx5 闭源版的chrome用不了fcitx5,--enable-wayland-ime和--gtk-version=4试了都不行。
chromium的同步功能要自己折腾,所以一直在用chrome

do you have check other software which are running in Xwayland, i have the same problem, the typing bar appears in the left-up corner and can't input any thing

Check whether libx11 has been upgraded. If libx11 has been upgraded, downgrade to 1.8.7

@Onetopabove
Copy link

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

经过测试,开源版chromium使用--enable-wayland-ime参数能正常使用fcitx5,提示框位置正常,使用--gtk-version=4参数不能使用fcitx5 闭源版的chrome用不了fcitx5,--enable-wayland-ime和--gtk-version=4试了都不行。
chromium的同步功能要自己折腾,所以一直在用chrome

do you have check other software which are running in Xwayland, i have the same problem, the typing bar appears in the left-up corner and can't input any thing

Check whether libx11 has been upgraded. If libx11 has been upgraded, downgrade to 1.8.7

Downgrading to 1.8.7 works for me, thank you!

@command-z-z
Copy link

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

经过测试,开源版chromium使用--enable-wayland-ime参数能正常使用fcitx5,提示框位置正常,使用--gtk-version=4参数不能使用fcitx5 闭源版的chrome用不了fcitx5,--enable-wayland-ime和--gtk-version=4试了都不行。
chromium的同步功能要自己折腾,所以一直在用chrome

do you have check other software which are running in Xwayland, i have the same problem, the typing bar appears in the left-up corner and can't input any thing

Check whether libx11 has been upgraded. If libx11 has been upgraded, downgrade to 1.8.7

Downgrading to 1.8.7 works for me, thank you!

I think libx11 1.8.8-3 fix this issue.

@Onetopabove
Copy link

我测试没什么问题

WAYLAND_DEBUG=1 chromium --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime  2>&1 | grep text_input_v1

有没有什么输出

经过测试,开源版chromium使用--enable-wayland-ime参数能正常使用fcitx5,提示框位置正常,使用--gtk-version=4参数不能使用fcitx5 闭源版的chrome用不了fcitx5,--enable-wayland-ime和--gtk-version=4试了都不行。
chromium的同步功能要自己折腾,所以一直在用chrome

do you have check other software which are running in Xwayland, i have the same problem, the typing bar appears in the left-up corner and can't input any thing

Check whether libx11 has been upgraded. If libx11 has been upgraded, downgrade to 1.8.7

Downgrading to 1.8.7 works for me, thank you!

I think libx11 1.8.8-3 fix this issue.

I verified on my Arch that libx11 1.8.8-3 really fixes this issue.

@wengxt
Copy link
Member

wengxt commented Apr 3, 2024

https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#TL.3BDR_Do_we_still_need_XMODIFIERS.2C_GTK_IM_MODULE_and_QT_IM_MODULE.3F

我更新了一段wiki你们可以参考来通过gtk的配置文件来对仅x11的gtk3程序设置gtk im module

chromium用xim本身也有其他的问题

@KairuiLiu
Copy link

我在 sway 的上可以通过

chromium --gtk-version=4 --enable-feature=UseOzonPlatform --ozone-platform=wayland

唤起 chromium 的 fcitx, 但是无法通过

chromium --enable-wayland-ime --enable-feature=UseOzonPlatform --ozone-platform=wayland

唤起 chromium 的 fcitx. 也无法通过

google-chrome-unstable --enable-wayland-ime --enable-feature=UseOzonPlatform --ozone-platform=wayland
google-chrome-unstable --gtk-version=4 --enable-feature=UseOzonPlatform --ozone-platform=wayland

唤起闭源 chrome 中的 fcitx. 请问目前有什么在闭源 chrome 上的解决方案吗?

@hdm9527
Copy link
Author

hdm9527 commented Apr 14, 2024

我在 sway 的上可以通过

chromium --gtk-version=4 --enable-feature=UseOzonPlatform --ozone-platform=wayland

唤起 chromium 的 fcitx, 但是无法通过

chromium --enable-wayland-ime --enable-feature=UseOzonPlatform --ozone-platform=wayland

唤起 chromium 的 fcitx. 也无法通过

google-chrome-unstable --enable-wayland-ime --enable-feature=UseOzonPlatform --ozone-platform=wayland
google-chrome-unstable --gtk-version=4 --enable-feature=UseOzonPlatform --ozone-platform=wayland

唤起闭源 chrome 中的 fcitx. 请问目前有什么在闭源 chrome 上的解决方案吗?

chrome的gtk4的输入法模块已经坏了,我用的hyprland,chromium的gtk4 im也不能用,因为hyprland完善了text_input_v1输入法,现在chrome在wayland下能直接用fcitx5, flags --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime

@KairuiLiu
Copy link

KairuiLiu commented Jun 9, 2024

如果 GTK4 在 wayland 的 Chromium 上可用, 在 Chrome 上不可用可以试试这个方案

https://issues.chromium.org/issues/345261080

@hdm9527
Copy link
Author

hdm9527 commented Jun 9, 2024

如果 GTK4 在 wayland 的 Chromium 上可用, 在 Chrome 上不可用可以试试这个方案

https://issues.chromium.org/issues/345261080

试过了 可以了,原来是不读取
~/.config/gtk-4.0/settings.ini 下的im配置,需要设置 export GTK_IM_MODULE=fcitx

wwxiaoqi added a commit to wwxiaoqi/dotfiles-hypr that referenced this issue Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants