fcitx install 安装 解决 办法(方框)

fcitx install 安装 解决 办法(方框)

目前在Linux下面fcitx算是最好的中文输入法了,但是安装的时候总是问题很多。

(一)

    如果是Ubuntu系统,使用“sudo apt-get install im-switch fcitx”,然后“sudo im-switch -s fcitx”,如果能成功的话当然很好,但是这样做有两个问题,一是Ubuntu源上的fcitx的版本很老,二是这样做未必就可行,因为有时候安装之后 在执行上面第二条命令的时候系统提示“update-alternatives: Cannot find alternative `/etc/X11/xinit/xinput.d/fcitx’.”,而这时候查看该文件夹,发现fcitx文件确实是存在的。

    第二种方法也是通用的方法,到fcitx官方网站下载源码包,然后编译安装,这种情况通常会遇到一个问题,就是在make的时候说找不到 X11/xpm.h,这是因为有个组件没有安装,使用“sudo apt-get install xlibs-dev”就可以了。

    当然在它的网站上也有编译好的安装文件的包,用它安装也行,如果可以的话。

    第四种方法是下载fcitx的deb包然后使用它安装。

    以上第一和第四种方法只能用于Ubuntu和Debian,第二和第三种在所有的Linux系统中均可行。

(二)

    我在使用上述四种方法的时候都会遇到提示“update-alternatives: Cannot find alternative `/etc/X11/xinit/xinput.d/fcitx’.”,只好使用以下办法:

    前提是上面四种办法都会遇到这种情况,而且/etc/X11/xinit/xinput.d/中fcitx文件确实是存在的。那么:

    修改/etc/X11/Xsession.d/95xinput(如果没有就新建):

export XMODIFIERS=”@im=fcitx”

export XIM=fcitx

export XIM_PROGRAM=fcitx

export GTK_IM_MODULE=”XIM”

export QT_IM_MODULE=”XIM”

fcitx

    保存并重新启动X,fcitx就自动使用了,这种情况下系统默认的scim也就没用了,使用“sudo apt-get remove scim”卸载它。

(三)

    如果情况是提示找不到fcitx文件但它确实不存在,那么任意位置新建立一个文件叫 fcitx,内容(取自ubuntu 软件包里的fcitx)如下:

XIM=fcitx

XIM_PROGRAM=/usr/bin/fcitx

XIM_ARGS=””

GTK_IM_MODULE=XIM

QT_IM_MODULE=XIM

DEPENDS=”fcitx”

复制到 /etc/X11/xinit/xinput.d/再使用“sudo im-switch -s fcitx”试试看。

(四)

    如果是英文的Locale,需要修改一下/etc/gtk-2.0/gtk.immodules:

sudo gedit /etc/gtk-2.0/gtk.immodules

找到

“/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so”

“xim” “X Input Method” “gtk20” “/usr/share/locale” “ko:ja:th:zh”

改成

“/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so”

“xim” “X Input Method” “gtk20” “/usr/share/locale” “en:ko:ja:th:zh”

如果在选字时出现方框:

vim ~/.fcitx/config

把第二行的*改成SimSun

e.g:

[³ÌÐò]

ÏÔʾ×ÖÌå(ÖÐ)=*

…….

改成

[³ÌÐò]

ÏÔʾ×ÖÌå(ÖÐ)=SimSun

…..

基本可以解决问题

如果还是不行,就把*改成NSimSun(我没试过,但愿可以。。good luck!!)

也就是多了一个 en: 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100625.html原文链接:https://javaforall.net

(0)
上一篇 2021年4月27日 下午2:00
下一篇 2021年4月27日 下午5:00


相关推荐

  • MySql索引类型

    MySql索引类型Mysql支持哪几种索引索引是在MySql的存储引擎层中实现的,而不是在服务器层从数据结构角度1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理BTREE在MyISAM里的形式和Innodb稍有不同在Innodb里,有两种形态:一是primarykey形态,其leafnode里存放的是数据,而且不仅存放了索引键的数据,还存放了其他字段的数据…

    2022年6月12日
    36
  • 百度面试题

    百度面试题1.一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。这道题的解答请看下一篇日志2.一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和

    2022年7月15日
    26
  • 从源码求证tensorflow中os.environ[“TF_CPP_MIN_LOG_LEVEL”]的值的含义

    从源码求证tensorflow中os.environ[“TF_CPP_MIN_LOG_LEVEL”]的值的含义看代码时遇到了 os environ TF CPP MIN LOG LEVEL 2 这样一句话 于是开始百度 是设置 log 输出信息的 也就是程序运行时系统打印的信息 amp nbsp 但是发现有两种答案 一种是这样说的还有一种是这样说的 一脸懵逼

    2026年3月18日
    2
  • 字符串中查找子串_cstring查找子字符串

    字符串中查找子串_cstring查找子字符串子串查询首先,我们来定义两个概念,主串和模式串。我们在字符串A中查找字符串B,则A就是主串,B就是模式串。我们把主串的长度记为n,模式串长度记为m。由于是在主串中查找模式串,因此,主串的长度肯定比模式串长,n>m。因此,字符串匹配算法的时间复杂度就是n和m的函数。假设要从主串s=“goodgoogle”中找到t=“google”子串。根据我们的思考逻辑,则有:首先,我们从主串s第1位开始,判断s的第1个字符是否与t的第1个字.

    2022年8月21日
    5
  • 关于路由器自定义 3322.org 的DDNS

    关于路由器自定义 3322.org 的DDNS首先,3322.org,现在官网地址为:http://www.pubyun.com/注册用户后,如果支持3322的路由器,可以直接设置。不支持的路由就要想办法自定义了。3322的DDN

    2022年7月2日
    43
  • 面向对象多态概念理解

    面向对象多态概念理解1 nbsp 什么是多态一句话概括 父类对象引用子类变量调用的是子类的实现例子 子类 publicclassC publicvoidhe System out println 我是中国人 publicvoidba System out println 我来拜年了

    2026年3月16日
    2

发表回复

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

关注全栈程序员社区公众号