【求助】sudo下无法切换输入法

系统字体配置、中文显示和输入法问题
回复
dongdongdjh
帖子: 4
注册时间: 2016-09-06 21:22
系统: ubuntu16.04

【求助】sudo下无法切换输入法

#1

帖子 dongdongdjh » 2016-09-06 21:25

通过sudo打开的程序(firefox、gvim、sublime text 3等)都无法切换输入法,只能输入英文
但是直接打开就可以正常输入 :Cry
dongdongdjh
帖子: 4
注册时间: 2016-09-06 21:22
系统: ubuntu16.04

Re: 【求助】sudo下无法切换输入法

#2

帖子 dongdongdjh » 2016-09-06 21:49

求大神指点解决方法,包括wps这些图形化程序 只要通过sudo打开就无法切换输入法 输入中文。但是普通用户打开又没有权限。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 【求助】sudo下无法切换输入法

#3

帖子 vickycq » 2016-09-06 22:31

若输入法为 ibus,再跟帖讨论
若输入法为 fcitx:
csslayer 写了:以 Root 运行的程序在一般用户的 X 会话下总是有问题的(一般意义上,并不只针对 fcitx),这是因为 dbus 是一个仅限用户会话的进程。唯一在root程序中的办法使用 fcitx 的办法是通过 XIM,需要启动程序前设置 GTK_IM_MODULE=xim 和 QT_IM_MODULE=xim。
参考
http://askubuntu.com/questions/316169/i ... put-method
https://fcitx-im.org/wiki/FAQ/zh-hans#. ... B.E5.BA.8F

按以上解释,临时解决方法可为:

1. 创建 /etc/sudoers_env 加入以下内容

代码: 全选

GTK_IM_MODULE=xim
QT_IM_MODULE=xim
QT4_IM_MODULE=xim
2. 执行 sudo visudo 加入以下内容

代码: 全选

Defaults env_keep += "XMODIFIERS"
Defaults env_file="/etc/sudoers_env"
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 【求助】sudo下无法切换输入法

#4

帖子 poloshiao » 2016-09-07 7:04

https://en.wikipedia.org/wiki/User_space
https://zh.wikipedia.org/wiki/%E4%BD%BF ... A%E9%96%93
在作業系統中,虛擬記憶體通常會被分成使用者空間(英语:User space,又譯為使用者空间),與核心空間(英语:Kernel space,又譯為內核空間)這兩個區段。
通常 輸入法 是運行在 使用者空間
意思是
在 使用者空間
沒必要 使用 root 權限
沒必要 使用 sudo / gksudo / kdesudo 等等指令

補充
當你使用
sudo / gksudo / kdesudo 等等指令
去設定/編輯 輸入法
不是影響 system-wide 設定 (/etc 裡面的設定檔)
預設是影響 /root (使用者 root 家目錄) 設定
意思是 除非你使用 root 登入 否則不會受影響
而 Ubuntu 預設 關閉 root 登入
dongdongdjh
帖子: 4
注册时间: 2016-09-06 21:22
系统: ubuntu16.04

Re: 【求助】sudo下无法切换输入法

#5

帖子 dongdongdjh » 2016-09-07 8:34

vickycq 写了:若输入法为 ibus,再跟帖讨论
若输入法为 fcitx:
csslayer 写了:以 Root 运行的程序在一般用户的 X 会话下总是有问题的(一般意义上,并不只针对 fcitx),这是因为 dbus 是一个仅限用户会话的进程。唯一在root程序中的办法使用 fcitx 的办法是通过 XIM,需要启动程序前设置 GTK_IM_MODULE=xim 和 QT_IM_MODULE=xim。
参考
http://askubuntu.com/questions/316169/i ... put-method
https://fcitx-im.org/wiki/FAQ/zh-hans#. ... B.E5.BA.8F

按以上解释,临时解决方法可为:

1. 创建 /etc/sudoers_env 加入以下内容

代码: 全选

GTK_IM_MODULE=xim
QT_IM_MODULE=xim
QT4_IM_MODULE=xim
2. 执行 sudo visudo 加入以下内容

代码: 全选

Defaults env_keep += "XMODIFIERS"
Defaults env_file="/etc/sudoers_env"
输入法为fcitx
试过了 还是不起作用 :Sad
dongdongdjh
帖子: 4
注册时间: 2016-09-06 21:22
系统: ubuntu16.04

Re: 【求助】sudo下无法切换输入法

#6

帖子 dongdongdjh » 2016-09-07 8:39

vickycq 写了:若输入法为 ibus,再跟帖讨论
若输入法为 fcitx:
csslayer 写了:以 Root 运行的程序在一般用户的 X 会话下总是有问题的(一般意义上,并不只针对 fcitx),这是因为 dbus 是一个仅限用户会话的进程。唯一在root程序中的办法使用 fcitx 的办法是通过 XIM,需要启动程序前设置 GTK_IM_MODULE=xim 和 QT_IM_MODULE=xim。
参考
http://askubuntu.com/questions/316169/i ... put-method
https://fcitx-im.org/wiki/FAQ/zh-hans#. ... B.E5.BA.8F

按以上解释,临时解决方法可为:

1. 创建 /etc/sudoers_env 加入以下内容

代码: 全选

GTK_IM_MODULE=xim
QT_IM_MODULE=xim
QT4_IM_MODULE=xim
2. 执行 sudo visudo 加入以下内容

代码: 全选

Defaults env_keep += "XMODIFIERS"
Defaults env_file="/etc/sudoers_env"
输入法为fcitxi
好像可以了 firefox和gvim可以在sudo下切换输入法了。subl可能本身有问题。
头像
daf3707
论坛版主
帖子: 12731
注册时间: 2007-06-13 15:57
来自: 在他乡

Re: 【求助】sudo下无法切换输入法

#7

帖子 daf3707 » 2016-09-07 15:55

vickycq 写了:若输入法为 ibus,再跟帖讨论
若输入法为 fcitx:
csslayer 写了:以 Root 运行的程序在一般用户的 X 会话下总是有问题的(一般意义上,并不只针对 fcitx),这是因为 dbus 是一个仅限用户会话的进程。唯一在root程序中的办法使用 fcitx 的办法是通过 XIM,需要启动程序前设置 GTK_IM_MODULE=xim 和 QT_IM_MODULE=xim。
参考
http://askubuntu.com/questions/316169/i ... put-method
https://fcitx-im.org/wiki/FAQ/zh-hans#. ... B.E5.BA.8F

按以上解释,临时解决方法可为:

1. 创建 /etc/sudoers_env 加入以下内容

代码: 全选

GTK_IM_MODULE=xim
QT_IM_MODULE=xim
QT4_IM_MODULE=xim
2. 执行 sudo visudo 加入以下内容

代码: 全选

Defaults env_keep += "XMODIFIERS"
Defaults env_file="/etc/sudoers_env"
我怎么最近才感觉到root下不能输入,以前没感觉。试了你的方案,终于可以了! :em09
肉山买辉耀
帖子: 1
注册时间: 2016-10-25 19:00
系统: win7

Re: 【求助】sudo下无法切换输入法

#8

帖子 肉山买辉耀 » 2017-02-02 20:13

ubuntu16.04LTS依旧可用,好顶赞!
回复