zty199 发表于 2020-10-26 12:17
这需要你以管理员身份运行输入法吧
我猜应该是这样的,权限问题,这其实是中文linux一个痛点,偶尔需要用root模式使用应用软件,对应的却没法输入中文,英文linux或者win系统就不存在这样问题,随时随地可以输入自己想要的东西。论坛里面很多中文输入法不能输入其实都和这个有关系,困扰了很多人。
输入法在后台会启动dbus服务。
dbus服务分为system dbus和session dbus两种。session dbus的消息发送不到system dbus上。
正常情况下,应用软件接收到按键消息后,通过session dbus把按键消息发送给输入法。
如果root运行输入法,那么输入法的dbus服务就变成system session,导致上面的问题出现了。
输入法在后台会启动dbus服务。
dbus服务分为system dbus和session dbus两种。session dbus的消息发送不到system dbus上。
正常情况下,应用软件接收到按键消息后,通过session dbus把按键消息发送给输入法。
如果root运行输入法,那么输入法的dbus服务就变成system session,导致上面的问题出现了。
有解决方法吗?这个问题困扰了我好长时间了!
经过查阅资料,现在已经找到一个方法,感谢网络大神们!
1、设置SU密码
sudo passwd root
2、以我使用的firefox52.4.0为例,在程序目录新建一个firefox.sh文件并保存
启动程序以前设置环境变量
内容:
export CLUTTER_IM_MODULE=xim
export GTK_IM_MODULE=xim
export QT4_IM_MODULE=xim
export QT_IM_MODULE=xim
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
./firefox
3、在终端登录su
su
输入刚才设置的密码回车
4、运行刚才新建的firefox.sh
./firefox.sh
5、在需要输入中文的地方Ctrl+空格
开心的输入中文吧!
有解决方法吗?这个问题困扰了我好长时间了!
参考方法
https://fcitx-im.org/wiki/FAQ/zh-hans#.E5.9C.A8.E4.B8.80.E8.88.AC.E7.94.A8.E6.88.B7.E7.9A.84_X_.E4.B8.8B_.E8.BF.90.E8.A1.8C_Root_.E6.9D.83.E9.99.90.E7.9A.84.E7.A8.8B.E5.BA.8F
Popular Ranking
ChangePopular Events
More

中文 