文章目录
序言
今年,由于工作的缘由,须要编撰一个在统信UOS下使用的工具,买了本QT的书,现学现写~
难堪的是,QT须要使用root权限运行(sudoqtcreator),能够输出调试信息(qDebug),而在sudo调用以后,却未能呼出英文输入法。。
想要输入英文,要么在其它程序中打好字复制过来,要么切换到普通权限,普通权限下又看不了调试信息。。
被摧残了几天后,受不了了,我决定把它解决!
百度一番后,并没有找到解决方式,但也得到了一些启示,最终搞定。。
本文所使用的操作系统:统信UOS专业版1050
操作之前,须要先打开开发者模式,本文略过
另外,建议删掉UOS自带的“中文输入法”,安装第三方输入法!
一、添加输入法的环境变量
按下Ctrl+Alt+T打开终端,输入命令:
#b:9:9:e:5:4:5:4:b:3:e:d:d:e:0:d:9:1:1:f:3:a:c:4:d:f:9:c:6:8:6:0#
输入正确的话,文本编辑器会打开profile文件,如图:
#0:c:e:0:b:0:8:4:2:9:6:c:0:2:1:9:d:e:8:1:b:5:e:a:c:7:5:b:d:5:4:7#
键盘滚动到文件末尾,添加如下代码:
#1:9:1:e:0:d:d:3:f:a:1:6:1:6:2:b:9:5:6:7:f:1:6:1:c:7:b:b:0:5:f:9#
添加以后如图:
#5:1:2:5:c:c:3:e:8:8:b:e:b:9:7:e:2:3:e:2:9:8:b:c:4:0:8:8:6:0:7:f#
按下ctrl+s保存后,关掉文本编辑器
二、保持sudo运行时的输入法变量
在终端中,输入命令:
#e:2:c:f:5:6:4:c:8:f:7:7:5:4:7:2:5:9:4:1:e:b:3:5:8:d:2:2:d:0:8:1#
输入正确的话,如图:
#1:4:9:a:f:c:7:5:6:7:5:d:4:6:b:1:6:0:1:4:0:e:5:f:e:9:5:6:e:d:5:6#
上图可以看见三条Defaults开头的句子,在其下方加入两句代码:
#5:8:e:0:1:a:9:c:0:f:6:3:e:1:2:2:0:8:e:8:f:e:f:8:e:e:d:b:0:2:0:3#
第一句代码是添加sudo的默认环境变量,第二句是输入法变量。
其实,你也可以把这两句的变量内容合并写成一句。
这两句代码的作用,是在使用sudo命令时,保留这种变量!
更改完成后,如图:
#2:9:5:8:a:5:9:5:3:f:e:3:0:3:e:c:7:d:d:f:b:e:2:0:4:4:f:7:7:8:6:f#
按下ctrl+s保存,关掉文本编辑器,之后重启一下。
三、使用sudo运行输入法管理器
打开终端,输入命令:
#c:d:e:7:1:b:f:4:d:9:c:0:a:3:0:3:c:2:0:7:9:1:7:0:4:4:5:6:6:2:8:a#
此时,会在右下角出现两个外型不一样的输入法图标,如图:
#b:d:1:4:e:a:7:a:d:6:e:c:3:8:e:b:9:6:e:8:3:6:3:b:5:6:3:6:9:5:1:8#
一侧那种大一些的,就是使用sudo命令运行的输入法管理器。
此时,再使用sudo命令去调用其它程序之后,那种程序就可以输入英文了!
可以打开文本编辑器测试一下:
#3:7:0:e:4:5:b:5:0:f:1:0:6:d:8:b:1:d:b:1:c:2:f:0:0:3:d:2:d:1:7:9#
总结
sudo调用的程序不能使用英文输入法,缘由并不复杂,就两点:
1、缺少相关的环境变量
2、没有sudo环境下的输入法管理器(fcitx)
这个方式,并不局限于统信UOS,大多数的Linux应当都邯郸小异。
须要注意的是:其它Linux中,并没有deepin-editor这个文本编辑器!
它们的文本编辑器,可能是gedit、pluma等等。。
一些Linux的输入法管理器,也不是fcitx,可能是ibus或则其它。。