一个新的wsl2里,装了zh_cn.utf-8。装了xfce4,然后装了fcitx,要从“系统system”里开启,右上角出现了键盘图标。然后在VcXsvr里就是不能启动中文输入。下面的弱于解决了。

为了解决输入法与程序之间的通信问题,可以通过在.bash_profile中添加脚本来启动DBus服务并设置环境变量,如FCITX。当DBus服务未运行时,使用dbus-launch启动,并设置DISPLAY,GTK_IM_MODULE,XMODIFIERS和QT_IM_MODULE等变量来确保输入法模块与程序在同一DBus会话中。
摘要由CSDN通过智能技术生成

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

    16

monetto   

OP

   2020-12-22 14:28:13 +08:00

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

    17

monetto   

OP

   2020-12-22 14:29:26 +08:00

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

    18

yanqiyu      2020-12-22 16:13:27 +08:00    1

@monetto
我现在的做法是
写一段下面的脚本丢进 ~/.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)

    19

12101111      2020-12-22 16:17:13 +08:00    1

export DISPLAY=127.0.0.1:1
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
eval `dbus-launch --sh-syntax`
fi
fcitx&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值