技术解析

WSL2 中文输入法无效
0
2021-06-15 13:13:50
idczone

环境为 Win10 18363.1139 + WSL2 + Ubuntu 20.04 GUI 为 xfce4,用的 vcxsrv 连接。 fcitx 已经启动了,右上角可以见到图标。 但是输入后还是英文字母,没有中文输入法的框框。 求大佬帮忙...


弱弱提问一下 WSL2 是有 UI 的 ? 一直以为只有 shell

可以的。网上一搜一大把了。就是没有 GPU 硬件加速,没过度动画,开发用还是足够了。IO 性能损失很小,IDEA 编译速度不输 Win10 。

vcxsrv 自己问题很多,建议用 x410 试试

x11 forwarding

试过 X410 了,一样的问题,启动了 fcitx,但是输入还是英文字母...

如果不介意换 distro 的话可以换到 kali linux 。它自带 wsl gui 支持:kali-win-kex

已经有支持 gpu 加速的内核了,不过还没正式发布,需要自己编译

那可能是环境变量没配置对,我这边是可以用的。。。
你看看什么 GTK_IM_MODULE 一类的配置

无论是现在的 X11 转发还是微软要出的 Wayland+RDP 的方案, 都是不能使用 Windows 端的输入法的
必须在 Linux 端安装输入法和 dbus, 然后用 dbus-launch 启动一个 dbus session, 并且让 GUI 和输入法同时得到 DBUS_SESSION_BUS_ADDRESS 的环境变量,这样输入法才能使用

安装本地语言管理 和 中文字体包
sudo apt-get -y install locales xfonts-intl-chinese fonts-wqy-microhei
安装语言环境 选择 en_US.utf8 和 zh_CN-UTF-8
空格键选择 Tab 键跳出选择,左右方向键选择确定还是取消,回车
sudo dpkg-reconfigure locales
查看当前系统支持的所有语言
λ locale -a
C
C.UTF-8
en_US.utf8
POSIX
zh_CN.utf8
设置默认语言
sudo update-locale LC_ALL="zh_CN.UTF-8"

你这是中文显示。。。别人要的是能输入中文

我说的就是中文输入法的解决方式啊。要想输出中文总不能连中文都不能显示吧

你还是重新看一遍主题里提问的是啥吧……

好吧 我以为已经装了中文输入法但是无法打出中文,目前信息只说了装了 fcitx,不确定装没装中文输入法,如果没装的话装个 fcitx-googlepinyin 再按照我上面说的设置 LC 就行了

保证程序和输入法在同一个 dbus session, 这样 im-module 才能和输入法通信

感谢大佬回复。那我具体应该怎么操作呀,在网上搜索相关教程没找到有说这个的...我目前是手动在终端输入 sudo service dbus start,然后再输入 fcitx 。

感谢大佬,那我如何确保他们在同一个 dbus session 啊


我现在的做法是
写一段下面的脚本丢进 ~/.bash_profile, 当然这很简陋并且会随机的出问题,但是勉强能用
if [-z "$(pidof dbus-daemon)" ]; then
/usr/bin/dbus-launch --exit-with-x11 2>/dev/null >~/.dbus.env
fi
export $(cat ~/.dbus.env)

export DISPLAY=127.0.0.1:1
export GTK_IM_MODULE=fcitx
export [email&/>export QT_IM_MODULE=fcitx
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
eval `dbus-launch --sh-syntax`
fi
fcitx&

其实 locale 跟输入法能不能输入没关系,最初使用 Linux 的时候任何额外组件都半天装不上(网速问题,还不知道应当在开始安装前改源),所以一直都是最低网络需求安装完再改源装中文相关,也不知道改 locale,输入中文倒是可以
而且不要 profile 级改 LC_ALL,要改改 LANG 。LC_ALL 应当被用来临时修改。

fcitx 是一个输入法框架,需要继续安装具体的输入法(比如 sunpinyin )才能打字
安装并添加拼音输入法
> sudo apt install fcitx dbus-x11 im-config fcitx-sunpinyin
> fcitx-autostart
> fcitx-config-gtk3 添加拼音(推荐 sunpinyin ),此为输入法配置必须的一步
默认切换的快捷键是 ctrl + space 或 shift
输入法的自启动
办法:在 Settings > Settings Manager > Session and Startup (会话和自启动) 中点击应用程序自启动,设置与 Xfce 一起启动的自启动程序
添加 命令 "fcitx-autostart &" 即可

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服