您尚未登录。

#1 2023-12-27 08:19:05

Sigar
会员
注册时间: 2023-12-27
帖子: 5

在WeChat中无法输入中文

使用wine-for-wechat和wine-wechat-setup安装微信,微信能够正常启动和显示。但是使用fcitx5-rime无法输入中文,桌面环境是kde plasma wayland,以下是系统相关信息。

local
LANG=zh_CN
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
local -a
C
C.utf8
en_US.utf8
POSIX
zh_CN.utf8
cat ~/.xprofile
export XIM="fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

离线

#2 2023-12-27 09:53:26

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,482
个人网站

Re: 在WeChat中无法输入中文

fcitx5-diagnose

离线

#3 2023-12-27 09:57:53

Sigar
会员
注册时间: 2023-12-27
帖子: 5

Re: 在WeChat中无法输入中文

依云 说:

fcitx5-diagnose

# 系统信息:
1.  `uname -a`:

        Linux szlArch 6.6.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 21 Dec 2023 19:01:01 +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://bugs.archlinux.org/"
        PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
        LOGO=archlinux-logo

6.  桌面环境:

    桌面环境为 `kde`。

7.  XDG 会话类型:

        XDG_SESSION_TYPE='wayland'

8.  Bash 版本:

        BASH_VERSION='5.2.21(1)-release'

# 环境:
1.  DISPLAY:

        DISPLAY=':1'


        WAYLAND_DISPLAY='wayland-0'

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
            zh_TW.utf8

    2.  当前 locale:

            LANG=zh_CN
            LC_CTYPE="en_US.UTF-8"
            LC_NUMERIC="en_US.UTF-8"
            LC_TIME="en_US.UTF-8"
            LC_COLLATE="en_US.UTF-8"
            LC_MONETARY="en_US.UTF-8"
            LC_MESSAGES="en_US.UTF-8"
            LC_PAPER="en_US.UTF-8"
            LC_NAME="en_US.UTF-8"
            LC_ADDRESS="en_US.UTF-8"
            LC_TELEPHONE="en_US.UTF-8"
            LC_MEASUREMENT="en_US.UTF-8"
            LC_IDENTIFICATION="en_US.UTF-8"
            LC_ALL=en_US.UTF-8

4.  目录:

    1.  主目录:

            /home/szl

    2.  `${XDG_CONFIG_HOME}`:

        环境变量 `XDG_CONFIG_HOME` 没有设定。

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

    3.  Fcitx5 设置目录:

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

5.  当前用户:

    脚本作为 szl (1000) 运行。

# Fcitx 状态:
1.  可执行文件:

    在 `/usr/bin/fcitx5` 找到了 fcitx5。

2.  版本:

    Fcitx 版本: `5.1.5`

3.  进程:

    找到了 1 个 fcitx5 进程:

           1120 fcitx5

4.  `fcitx5-remote`:

    `fcitx5-remote` 工作正常。

5.  DBus 界面:

    使用 `dbus-send` 来检查 dbus。

    DBus 名称 `org.fcitx.Fcitx5` 的所有者是 `:1.11`。

    DBus 名称 `org.fcitx.Fcitx5` 的 PID 所有者是 `1120`。

    来自 dbus 的调试信息:

           Group [x11::1] has 1 InputContext(s)
          IC [17f0c1d87e6f4602ba1d1bfb40be7186] program:google-chrome frontend:dbus cap:6000000032 focus:0
        Group [wayland:] has 4 InputContext(s)
          IC [3331008c4dfe4be38e4ca6849075f1d2] program:org.kde.yakuake frontend:wayland cap:52 focus:1
          IC [9d9c91ee71fb4766a848fce2367fe691] program:google-chrome frontend:wayland cap:52 focus:0
          IC [00a8a1abe3c143109c1ba8590ccd22b3] program:org.kde.plasmashell frontend:wayland cap:52 focus:0
          IC [c543e6e2d91c4839b624792377ad9a09] program: frontend:wayland cap:52 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 的配置界面:

    找到了 fcitx5 的 kcm 模块。

        kcm_fcitx5                     - 配置输入法

# 前端设置:
此脚本检查的环境变量仅能显示当前命令行的环境。仍有可能您的环境并没有应用于整个桌面。您可以通过使用命令对某个无法正常工作的进程使用命令 `xargs -0 -L1 /proc/$PID/environ` 检查此进程的实际的环境变量。

## Xim:
1.  `${XMODIFIERS}`:

    **XMODIFIERS 没有设置**

    **请使用您发行版提供的工具将环境变量 XMODIFIERS 设为 "@im=fcitx" 或者将 `export XMODIFIERS=@im=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:XMODIFIERS](http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#XMODIFIERS)。**
    从环境变量中获取的 Xim 服务名称为 fcitx.

2.  根窗口上的 XIM_SERVERS:

    Xim 服务的名称与环境变量中设置的相同。

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE)。**

    **`fcitx5-qt4-immodule-probing` 未找到.**

2.  qt5 - `${QT_IM_MODULE}`:

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE)。**

    **如果您的混成器完全支持 qt5 使用的 text-input 协议,您也可以使用 qt5 内置的 Wayland 模块。**

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

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=
        IM_MODULE_CLASSNAME=QtWaylandClient::QWaylandInputContext

3.  qt6 - `${QT_IM_MODULE}`:

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE)。**

    **如果您的混成器完全支持 qt6 使用的 text-input 协议,您也可以使用 qt6 内置的 Wayland 模块。**

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



4.  Qt 输入法模块文件:

    找到了 fcitx5 的 qt 输入法模块:`/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。
    找到了未知的 fcitx qt 模块:`/usr/lib/qt/plugins/kcms/kcm_fcitx5.so`。
    找到了 fcitx5 qt5 模块:`/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.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 来检查在当前环境下将被实际使用的输入法模块:



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

        GTK_IM_MODULE=wayland

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

        GTK_IM_MODULE=wayland

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.39` 的 `gtk-query-immodules`。
        版本行:

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

        已找到 gtk `3.24.39` 的 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.39` 的输入法模块缓存。
        版本行:

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

        已找到 gtk `3.24.39` 的 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.  找到了 21 个已启用的插件:

            Classic User Interface 5.1.5
            Clipboard 5.1.5
            DBus 5.1.5
            DBus Frontend 5.1.5
            Emoji 5.1.5
            Fcitx4 Frontend 5.1.5
            IBus Frontend 5.1.5
            Input method selector 5.1.5
            Keyboard 5.1.5
            KDE Input Method Panel 5.1.5
            Status Notifier 5.1.5
            Notification 5.1.5
            Quick Phrase 5.1.5
            Rime 5.1.3
            Spell 5.1.5
            Unicode 5.1.5
            DBus Virtual Keyboard 5.1.5
            Wayland 5.1.5
            Wayland Input method frontend 5.1.5
            XCB 5.1.5
            X Input Method Frontend 5.1.5

    2.  找到了 0 个被禁用的插件:

3.  插件库: 

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

4.  用户界面:

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

        Classic User Interface
        KDE Input Method Panel
        DBus Virtual Keyboard

## 输入法:
1.  `/home/szl/.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

# 日志:
1.  `date`:

        Wed Dec 27 09:55:05 AM CST 2023

2.  `/home/szl/.config/fcitx5/crash.log`:

    `/home/szl/.config/fcitx5/crash.log` 未找到.

**警告:fcitx5-diagnose 的输出可能包含敏感信息,包括发行版名称,内核版本,正在运行的程序名称等。**

**尽管这些信息对于开发者诊断问题有帮助,请在公开发送到在线网站前检查并且根据需要移除的对应信息。**

离线

#4 2023-12-27 10:23:24

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,482
个人网站

Re: 在WeChat中无法输入中文

XMODIFIERS 没有设置。既然你使用的是 KDE,我猜你使用的登录器是 sddm。既然你用的是 Wayland 会话,那么它就不会读取 ~/.xprofile,所以你的环境变量没设置上。

离线

#5 2023-12-27 10:35:58

Sigar
会员
注册时间: 2023-12-27
帖子: 5

Re: 在WeChat中无法输入中文

依云 说:

XMODIFIERS 没有设置。既然你使用的是 KDE,我猜你使用的登录器是 sddm。既然你用的是 Wayland 会话,那么它就不会读取 ~/.xprofile,所以你的环境变量没设置上。

是的,正如您所说的,那请问环境变量应该如何设置呢?

离线

#6 2023-12-27 11:01:57

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,482
个人网站

Re: 在WeChat中无法输入中文

可以设置在 /etc/environment 里。

离线

#7 2023-12-27 11:43:24

Sigar
会员
注册时间: 2023-12-27
帖子: 5

Re: 在WeChat中无法输入中文

依云 说:

可以设置在 /etc/environment 里。

感谢大佬,现在已经可以输入中文了,但是输入框中的中文是⬜,聊天区的中文显示是正常的,我参考网上教材把

SIMSUN.ttf

放入

/home/szl/.local/lib/wine-wechat/default/drive_c/windows/Fonts/

中,问题没有解决。请问我应该如何操作?

离线

#8 2023-12-27 11:55:36

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,482
个人网站

Re: 在WeChat中无法输入中文

这个我也不知道……

离线

#9 2023-12-27 11:56:59

Sigar
会员
注册时间: 2023-12-27
帖子: 5

Re: 在WeChat中无法输入中文

依云 说:

这个我也不知道……

好的,感谢大佬!

离线

#10 2024-02-26 13:26:51

Wanxp
会员
注册时间: 2024-02-26
帖子: 2

Re: 在WeChat中无法输入中文

XIM="fcitx"
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

配置在/etc/environment  解决了wechat无法使用rime问题,同样遇到输入后变成方块问题

最近编辑记录 Wanxp (2024-02-26 13:28:28)

离线

#11 2024-02-26 15:27:43

Wanxp
会员
注册时间: 2024-02-26
帖子: 2

Re: 在WeChat中无法输入中文

Sigar 说:
依云 说:

可以设置在 /etc/environment 里。

感谢大佬,现在已经可以输入中文了,但是输入框中的中文是⬜,聊天区的中文显示是正常的,我参考网上教材把

SIMSUN.ttf

放入

/home/szl/.local/lib/wine-wechat/default/drive_c/windows/Fonts/

中,问题没有解决。请问我应该如何操作?

我安装的是com.qq.weixin.spark 版本,将字体文件放在以下目录

~/.deepinwine/Spark-weixin/drive_c/windows/Fonts

解决了输入中文变方块问题
字体文件来源于微软雅黑

离线

页脚