软件root模式无法输入中文
Tofloor
poster avatar
bigben446
deepin
2020-10-26 20:03
Author
貌似这是linux一个大的痛点,有些人说用root模式不安全,但论坛里面很多输入法帖子很多都和这个有关系,输入中文应该随时随地才行
Reply Favorite View the author
All Replies
jingle
deepin
2020-10-26 20:16
#1
这个我们测试验证下
Reply View the author
忘记、过去
deepin
2020-10-26 20:17
#2
这需要你以管理员身份运行输入法吧
Reply View the author
bigben446
deepin
2020-10-26 22:13
#3
zty199 发表于 2020-10-26 12:17
这需要你以管理员身份运行输入法吧

我猜应该是这样的,权限问题,这其实是中文linux一个痛点,偶尔需要用root模式使用应用软件,对应的却没法输入中文,英文linux或者win系统就不存在这样问题,随时随地可以输入自己想要的东西。论坛里面很多中文输入法不能输入其实都和这个有关系,困扰了很多人。
Reply View the author
狂奔的野猪
deepin
2020-11-04 02:05
#4

输入法在后台会启动dbus服务。

dbus服务分为system dbus和session dbus两种。session dbus的消息发送不到system dbus上。

正常情况下,应用软件接收到按键消息后,通过session dbus把按键消息发送给输入法。

如果root运行输入法,那么输入法的dbus服务就变成system session,导致上面的问题出现了。

Reply View the author
jfpwan
deepin
2020-11-19 00:11
#5
狂奔的野猪

输入法在后台会启动dbus服务。

dbus服务分为system dbus和session dbus两种。session dbus的消息发送不到system dbus上。

正常情况下,应用软件接收到按键消息后,通过session dbus把按键消息发送给输入法。

如果root运行输入法,那么输入法的dbus服务就变成system session,导致上面的问题出现了。

有解决方法吗?这个问题困扰了我好长时间了!


Reply View the author
jfpwan
deepin
2020-11-21 02:08
#6

经过查阅资料,现在已经找到一个方法,感谢网络大神们!

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+空格


开心的输入中文吧!

Reply View the author
狂奔的野猪
deepin
2020-12-28 23:53
#7
jfpwan

有解决方法吗?这个问题困扰了我好长时间了!


参考方法

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

Reply View the author