web1n / wechat-universal-flatpak

Flatpak 打包微信 Linux Universal 版
627 stars 43 forks source link

不能输入中文 #33

Open 2991535823 opened 4 months ago

2991535823 commented 4 months ago

您好:我的系统的ubuntu18.04.6,使用的是搜狗输入法,可是使用微信无法中文输入。我也添加了readme中所描述的环境变量在.bashrc与.zshrc文件中,不同shell中都能正确输出环境变量。这是什么原因呢?

屏幕截图_10

web1n commented 4 months ago

在 bashrc 里加的环境变量只能在终端生效吧,试试终端里执行 flatpak run com.tencent.WeChat

2991535823 commented 4 months ago

我使用了终端打开微信,仍然不能输入中文,显示中文没有问题,此外可以复制中文进行粘贴。下面是日志,哭了 屏幕截图_1 屏幕截图

web1n commented 4 months ago

安装 Flatpak 版 Fcitx5 可临时解决输入问题:https://fcitx-im.org/wiki/Install_Fcitx_5/zh-cn 。无法使用搜狗输入法因为搜狗输入法不支持 Fcitx5。

VirtualBox_ubuntu18

2991535823 commented 4 months ago

谢谢大佬解答我的问题

Pathsis commented 4 months ago

ibus能用!Ubuntu22.04。上个版本不能用ibus,只能用fcitx。

dezhishen commented 3 months ago

同样无法输入中文,tg可以,怀疑是 本地配置:

Fcitx5+rime
操作系统: Debian GNU/Linux 12
KDE Plasma 版本: 5.27.5
KDE 程序框架版本: 5.103.0
Qt 版本: 5.15.8
内核版本: 6.5.13-3-pve (64 位)
图形平台: X11
内存: 15.4 GiB 内存
图形处理器: llvmpipe

有人知道问题可能出在哪里吗?

补充flatpak安装列表

flatpak list --user
名称                                      应用程序 ID                              版本       分支Flatseal                                  com.github.tchx84.Flatseal               2.1.2      stable
Fcitx 5                                   org.fcitx.Fcitx5                         5.1.8      stable
Fcitx 5 的中州韵支持                      org.fcitx.Fcitx5.Addon.Rime              5.1.5      stable
Mesa                                      org.freedesktop.Platform.GL.default      24.0.5     23.08
Mesa (Extra)                              org.freedesktop.Platform.GL.default      24.0.5     23.08-extra
Intel                                     org.freedesktop.Platform.VAAPI.Intel                23.08
ffmpeg-full                               org.freedesktop.Platform.ffmpeg-full                23.08
openh264                                  org.freedesktop.Platform.openh264        2.4.1      2.4.1
GNOME Application Platform version 46     org.gnome.Platform                                  46
Breeze GTK theme                          org.gtk.Gtk3theme.Breeze                 6.0.3      3.22
John Preston                              org.telegram.desktop                     4.16.8     stable
Telegram Desktop Webview Add-on           org.telegram.desktop.webview             2.44.1     stable

flatpak list --system
名称                       应用程序 ID                            版本        分支          来源WeChat                     com.tencent.WeChat                     1.0.0.238   master        wechat11-origin
Fcitx 5                    org.fcitx.Fcitx5                       5.1.8       stable        flathub
中文附加组件               org.fcitx.Fcitx5.Addon.ChineseAddons   5.1.4       stable        flathub
Fcitx 5 的中州韵支持       org.fcitx.Fcitx5.Addon.Rime            5.1.5       stable        flathub
Freedesktop Platform       org.freedesktop.Platform               23.08.15    23.08         flathub
Mesa                       org.freedesktop.Platform.GL.default    24.0.4      23.08         flathub
Mesa (Extra)               org.freedesktop.Platform.GL.default    24.0.4      23.08-extra   flathub
Intel                      org.freedesktop.Platform.VAAPI.Intel               23.08         flathub
openh264                   org.freedesktop.Platform.openh264      2.1.0       2.2.0         flathub
Breeze GTK theme           org.gtk.Gtk3theme.Breeze               6.0.3       3.22          flathub
KDE Application Platform   org.kde.Platform                                   6.6           flathub
tlze commented 3 months ago

如果$XDG_SESSION_TYPE是wayland的话,参考如下: env XMODIFIERS="@im=fcitx" GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" SDL_IM_MODULE=fcitx GLFW_IM_MODULE=fcitx flatpak run com.tencent.WeChat (我还真没办法编辑成显示代码,不知道与gmail直接回复是否有关)

dezhishen commented 3 months ago

如果$XDG_SESSION_TYPE是wayland的话,参考如下: env XMODIFIERS="@im=fcitx" GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" SDL_IM_MODULE=fcitx GLFW_IM_MODULE=fcitx flatpak run com.tencent.WeChat (我还真没办法编辑成显示代码,不知道与gmail直接回复是否有关)

环境信息: 宿主机:

declare -x GTK_IM_MODULE="fcitx5"
declare -x QT_IM_MODULE="fcitx5"
declare -x XDG_CURRENT_DESKTOP="KDE"
declare -x XDG_SESSION_TYPE="x11"
declare -x XMODIFIERS="@im=fcitx5"

flatpak enter com.tencent.WeChat bash

bash-5.2$ export 
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x OLDPWD
declare -x PULSE_CLIENTCONFIG="/run/user/1000/pulse/config"
declare -x PULSE_SERVER="unix:/run/user/1000/pulse/native"
declare -x PWD="/home/sdniu"
declare -x SHLVL="1"
declare -x TERM="xterm-256color"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
bash-5.2$ 

尝试命令:

env XMODIFIERS="@im=fcitx" GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" SDL_IM_MODULE=fcitx GLFW_IM_MODULE=fcitxcitx5 flatpak run com.tencent.WeChat
env XMODIFIERS="@im=fcitx5" GTK_IM_MODULE="fcitx5" QT_IM_MODULE="fcitx5" SDL_IM_MODULE=fcitx5 GLFW_IM_MODULE=fcitx5 flatpak run com.tencent.WeChat

均无法输入中文

orange-guo commented 3 months ago

Solution (only supported by GDM or Plasma 5.22+)

dezhishen commented 3 months ago

Solution (only supported by GDM or Plasma 5.22+)

  • 執行以下命令配置env
mkdir -p ~/.config/environment.d/
cat << _EOF_ > ~/.config/environment.d/im.conf
XMODIFIERS="@im=fcitx" 
GTK_IM_MODULE="fcitx" 
QT_IM_MODULE="fcitx" 
SDL_IM_MODULE=fcitx 
GLFW_IM_MODULE=fcitx
_EOF_
  • 重启host(reboot)
  • 重新进入桌面打开terminal执行env|grep fcitx确认相关环境变量是否配置成功

这是回退到fcitx4? tg是可以输入中文的,所以我觉得并不是本身的系统的问题,而是打包的方式,可能没有兼容fcitx5?

dezhishen commented 3 months ago

宿主机环境

输入法:fcitx5+rime

解决方案:

1.安装基础依赖

flatpak install --user org.fcitx.Fcitx5
flatpak install --user org.fcitx.Fcitx5.Addon.Rime
flatpak install --system org.fcitx.Fcitx5
flatpak install --system org.fcitx.Fcitx5.Addon.Rime

2.安装本项目

flatpak install com.tencent.WeChat.flatpak

3.指定环境变量

3.1.安装 flatseal

flatpak install -y --user com.github.tchx84.Flatseal

3.2.通过flatseal指定wechat的环境变量

QT_IM_MODULE=fcitx
GTK_IM_MODULE=fcitx

image

orange-guo commented 3 months ago

Solution (only supported by GDM or Plasma 5.22+)

  • 執行以下命令配置env
mkdir -p ~/.config/environment.d/
cat << _EOF_ > ~/.config/environment.d/im.conf
XMODIFIERS="@im=fcitx" 
GTK_IM_MODULE="fcitx" 
QT_IM_MODULE="fcitx" 
SDL_IM_MODULE=fcitx 
GLFW_IM_MODULE=fcitx
_EOF_
  • 重启host(reboot)
  • 重新进入桌面打开terminal执行env|grep fcitx确认相关环境变量是否配置成功

这是回退到fcitx4? tg是可以输入中文的,所以我觉得并不是本身的系统的问题,而是打包的方式,可能没有兼容fcitx5?

fcitx5和4 export的env是一样的, 参考 https://fcitx-im.org/wiki/Setup_Fcitx_5, tg能输入的原因应该是读不到env就默认fallback到了fcitx, 微信没做fallback所以导致无法使用fcitx

xianghongai commented 3 months ago

Fcitx5 【聊天对话框】中无法输入,视频、搜一搜、小程序这类无孵用的地方可以输入。

其它应用程序正常。

$ uname -a
Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux

$ cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm

$ echo $XDG_SESSION_TYPE
x11

$ cat ~/.pam_environment
export XIM=fcitx5
export XIM_PROGRAM=fcitx5
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5
export SDL_IM_MODULE=fcitx5
export GLFW_IM_MODULE=fcitx5

$ cat /etc/environment  
XIM=fcitx5
XIM_PROGRAM=fcitx5
GTK_IM_MODULE=fcitx5
QT_IM_MODULE=fcitx5
XMODIFIERS=@im=fcitx5
SDL_IM_MODULE=fcitx5
GLFW_IM_MODULE=fcitx5

$ flatpak list
Name                         Application ID                                   Version      Branch         Origin            Installation
WeChat                       com.tencent.WeChat                               1.0.0.241    master         wechat7-origin    system
The Fcitx Team               org.fcitx.Fcitx5                                 5.1.9        stable         flathub           system
Chinese Addons               org.fcitx.Fcitx5.Addon.ChineseAddons             5.1.4        stable         flathub           system
Rime for Fcitx 5             org.fcitx.Fcitx5.Addon.Rime                      5.1.5        stable         flathub           system
Freedesktop Platform         org.freedesktop.Platform                         23.08.17     23.08          flathub           system
Mesa                         org.freedesktop.Platform.GL.default              24.0.6       23.08          flathub           system
Mesa (Extra)                 org.freedesktop.Platform.GL.default              24.0.6       23.08-extra    flathub           system
openh264                     org.freedesktop.Platform.openh264                2.1.0        2.2.0          flathub           system
Adwaita theme                org.kde.KStyle.Adwaita                                        6.6            flathub           system
KDE Application Platform     org.kde.Platform                                              6.6            flathub           system
QGnomePlatform               org.kde.PlatformTheme.QGnomePlatform                          6.6            flathub           system
QAdwaitaDecorations          org.kde.WaylandDecoration.QAdwaitaDecorations                 6.6            flathub           system
xianghongai commented 3 months ago

分析了一下,可能是 Wechat 的 Bug。

Pathsis commented 3 months ago

试试 ibus呗,ibus-rime超好用,又美观又流畅。

Rick0514 commented 3 months ago

试试 ibus呗,ibus-rime超好用,又美观又流畅。

您好,我也試了下ibus-rime,但在微信同樣無法輸入,問一下您是怎麼配置的呢?

Pathsis commented 3 months ago

试试 ibus呗,ibus-rime超好用,又美观又流畅。

您好,我也試了下ibus-rime,但在微信同樣無法輸入,問一下您是怎麼配置的呢?

最初的 235 版本,我只能用 fictx 来输入,ibus 不可以。更新倒 238 之后,就可以了。没做任何设置。系统是 Ubuntu22.04 和 24.04。您可以在虚拟机中测试下。

Pathsis commented 3 months ago

试试 ibus呗,ibus-rime超好用,又美观又流畅。

您好,我也試了下ibus-rime,但在微信同樣無法輸入,問一下您是怎麼配置的呢?

最初的 235 版本,晚只能用 fictx 来输入,ibus 不可以。更新倒 238 之后,就可以了。没做任何设置。系统是 Ubuntu22.04 和 24.04。您可以在虚拟机中测试下。

Pathsis commented 3 months ago

试试 ibus呗,ibus-rime超好用,又美观又流畅。

您好,我也試了下ibus-rime,但在微信同樣無法輸入,問一下您是怎麼配置的呢?

最初的 235 版本,我只能用 fictx 来输入,ibus 不可以。更新到 238 之后,就可以了。没做任何设置。系统是 Ubuntu22.04 和 24.04。您可以在虚拟机中测试下。

ch2925 commented 2 months ago

centos stream 8在xrdp下使用远程桌面,fcitx5和ibus都不能输入中文。升级到centos stream 9就都可以了

zhangyufei49 commented 2 months ago

我在 ubuntu 24.04 中通过星火商店安装的 UOS 版本微信也无法输入中文。 我的环境是 fcitx5 + wayland 后来我发现只要导出 QT_IM_MODULE=fcitx 给微信就可以输入中文了。 所以我通过在 /etc/environment.d/ 下添加了一个全局的环境变量配置: 70im-module.conf 内容为:

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

这样以后注销或者重启都可以,所有的软件都能获得这个环境变量配置。 至于为什么是 70im-module.conf 这个名字,不重要,70表示加载顺序,im-module这个名字也是随意的。不用纠结这个。

通过以上配置以后,我的星火商店也能正常输入中文了。ubuntu桌面的搜索框也能输入中文了。

ahaooahaz commented 1 month ago

ibus用户可以试试这个:

env IBUS_USE_PORTAL=1 flatpak run com.tencent.WeChat
shu1ong commented 1 month ago

我使用的是20.04 用楼上的老哥的思路成功了 然后尝试指向fcitx

flatpak run --env=GTK_IM_MODULE=fcitx --env=QT_IM_MODULE=fcitx --env=XMODIFIERS=@im=fcitx --filesystem=xdg-config/fcitx com.tencent.WeChat    

成功了,可以在里面输入中文 然后尝试给它配置一下,不想每次都通过命令行拉起wechat

sudo flatpak override --env=GTK_IM_MODULE=fcitx --env=QT_IM_MODULE=fcitx --env=XMODIFIERS=@im=fcitx --filesystem=xdg-config/fcitx com.tencent.WeChat

感觉就十分之好使了,给大伙们分享一下

toluckykoi commented 1 month ago

我用的ubuntu18.04 ibus的输入法,本机系统一定要安装fcitx,才能使用上面的方法? 2024-07-19 14-22-07 的屏幕截图

littlewu2508 commented 3 weeks ago

然后尝试给它配置一下,不想每次都通过命令行拉起wechat

sudo flatpak override --env=GTK_IM_MODULE=fcitx --env=QT_IM_MODULE=fcitx --env=XMODIFIERS=@im=fcitx --filesystem=xdg-config/fcitx com.tencent.WeChat

在我使用的 Debian 12 环境下需要 flatpak override --user 替代 sudo flatpak override 来持久化用户的环境变量设置

toluckykoi commented 3 weeks ago

然后尝试给它配置一下,不想每次都通过命令行拉起wechat

sudo flatpak override --env=GTK_IM_MODULE=fcitx --env=QT_IM_MODULE=fcitx --env=XMODIFIERS=@im=fcitx --filesystem=xdg-config/fcitx com.tencent.WeChat

在我使用的 Debian 12 环境下需要 flatpak override --user 替代 sudo flatpak override 来持久化用户的环境变量设置

嗯嗯,解决了,flatpak 版本问题,用来第三方源太老了,用官方的更新一下 flatpak 就可以了

Ken-u commented 1 week ago

我用的ubuntu18.04 ibus的输入法,本机系统一定要安装fcitx,才能使用上面的方法? 2024-07-19 14-22-07 的屏幕截图

我是20.04,用ibus这样可以 sudo flatpak override --env=GTK_IM_MODULE=ibus --env=QT_IM_MODULE=ibus --env=XMODIFIERS=@im=ibus com.tencent.WeChat