sudo 启动应用程序无法使用fcitx输入法的解决方案

sudo 启动应用程序无法使用fcitx输入法的解决方案解决了 sudo 应用程序后无法使用输入法的问题 fcitx

大家好,欢迎来到IT知识分享网。

一、问题原因

sudo 启动应用程序无法使用fcitx输入法的解决方案

sudo 启动应用程序无法使用fcitx输入法的解决方案

二、解决方案

1、通过whereis fcitx找到fcitx的安装位置

sudo 启动应用程序无法使用fcitx输入法的解决方案

2、在/usr/share/fcitx/data,我们可以找到env_setup.sh,这是fcitx的环境变量安装脚本。在里面可以找到对应的配置变量的命令。

sudo 启动应用程序无法使用fcitx输入法的解决方案

sudo 启动应用程序无法使用fcitx输入法的解决方案

3、在/etc/bashrc中配置fcitx的环境变量,使得/etc/sudoers配置文件可以继承该环境变量

sudo gedit /etc/bashrc
# fcitx配置,使得sudo开启的文件也能使用输入法 export XMODIFIERS=“@im=fcitx” export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx

4、在/etc/sudoers 中继承以上环境变量

sudo gedit /etc/sudoers

在Defaults下面追加以下命令:

Defaults:%sudo env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE"

如图所示:

sudo 启动应用程序无法使用fcitx输入法的解决方案

5、编写 个人用户 和 sudo组 切换使用fcitx输入法的脚本,使其可执行

(1) 自己找个目录,创建 open_sudo_fcitx.sh 和 close_sudo_fcitx.sh

touch open_sudo_fcitx.sh touch close_sudo_fcitx.sh

(2) open_sudo_fcitx.sh

#!/bin/sh fcitx-remote -e #关闭用户层级的fcitx sudo fcitx #开启root层级的fcitx

(3) close_sudo_fcitx.sh

#!/bin/sh sudo fcitx-remote -e #关闭root层级的fcitx fcitx #开启用户层级的fcitx

(4) 授予可执行权限

sudo chmod a+x open_sudo_fcitx.sh sudo chmod a+x close_sudo_fcitx.sh

6、关闭sudo输入密码,使得以上可执行脚本免输入密码

sudo gedit /etc/sudoers 

找到 %sudo,末尾的 ALL 改为 NOPASSWD:ALL 即可

sudo 启动应用程序无法使用fcitx输入法的解决方案

7、给上面的脚本起别名

(1) 在/etc/bashrc中起别名,脚本路径修改成你自己的即可

# vim使用的是终端(键盘)输入,vim或者sudo vim都支持fcitx。 # 但是gedit和Notepad-- 在用sudo开启时,是不支持fcitx的,需要先关闭用户层级的fcitx,接着开启sudo组的fcitx # 方可使用fcitx输入法。 # 下面把开启sudo fcitx和关闭 sudo fcitx的操作写成了两个可执行脚本。 # 每当运行sudo gedit 或者 sudo np 时,请先开启osf: osf|sudo gedit <filename> # 退出编辑后,运行csf来关闭sudo组的fcitx,开启用户层级的fcitx。 alias osf='/opt/linux简易执行脚本/sudo_fcitx/open_sudo_fcitx.sh' # 开启sudo fcitx的运行脚本 alias csf='/opt/linux简易执行脚本/sudo_fcitx/close_sudo_fcitx.sh' # 关闭sudo fcitx的运行脚本

(2) Shell的配置文件:~/.zshrc 、 ~/.bashrc 引用/etc/bashrc

sudo 启动应用程序无法使用fcitx输入法的解决方案     sudo 启动应用程序无法使用fcitx输入法的解决方案

8、想要 sudo 开启应用程序后使用到fcitx输入法,请输入osf命令

sudo 启动应用程序无法使用fcitx输入法的解决方案

 此时关闭了用户层级的fcitx,启动了root层级的fcitx。

sudo 启动应用程序无法使用fcitx输入法的解决方案

此时执行sudo gedit <filename>,可以使用fcitx输入法了

sudo 启动应用程序无法使用fcitx输入法的解决方案

9、关闭应用程序后,我们希望在用户层级使用fcitx,请输入csf命令

sudo 启动应用程序无法使用fcitx输入法的解决方案

sudo 启动应用程序无法使用fcitx输入法的解决方案

参考文章:

【Linux】使用sudo运行的程序,无法输入中文的原因和解决方法_echo “lba” | sudo -s 执行qt应用程序无法输入中文-CSDN博客

sudo启动应用程序无法输入中文 · Issue #499 · fcitx/fcitx · GitHub

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/143868.html

(0)
上一篇 2025-04-30 18:10
下一篇 2025-04-30 18:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信