中文输入
1. Linux下的中文输入
在英文版的Linux上, 或者安装时没有选择中文时, 开机以后是无法输入中文的, 需要安装中文输入法. 而在linux中, 不像Windows, 直接安装相关输入法就行了. 而是需要安装输入法框架, 然后再在此基础上进行安装中文输入.
1). Linux下的输入法框架
Linux下常见的输入法框架是ibus和fcitx, 安装其中一个就行.
sudo apt get install fcitx
2). Linux中文输入法的安装
sudo apt install fcitx-sunpinyin fcitx-sougoupinyin
3). 在菜单栏选择并配置输入法
如果不能使用, 或者出现问题, 在终端输入fcitx-diagnose
, 查看输出中是否有错误, 根据错误修改.
fcitx-diagnose
4). gtk-query-immodules
不知道从哪一版起, gtk-query-immodules的目录改到了以下位置, 在/usr/bin/
中找不到可执行项, 所以fcitx可能会报错, 因此只需要在/usr/bin
建立符号链接即可
gtk2:
/usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
gtk3:/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0
ln -s /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 /usr/bin/gtk-query-immodules-2.0
ln -s /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 /usr/bin/gtk-query-immodules-3.0
5). XIM报错
在~/
(/home/xxx/
)目录下找到.xinitrc
将以下内容填写到文尾.
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
2. Locale设置
1). locale选项
有些时候, 在一些软件中并不能调出fcitx, 这是因为当前的locale设置并不是中文环境, 这时候需要配置locale文件, 一般系统读取顺序为: /etc/enviroment
-> /etc/profile
-> ~/.profile
-> ~/.env
(如果存在)
或者直接在/etc/default/locale
更改, 其中的一些可选项如下:
可选项 | 含义 |
---|---|
LANG | locale的默认值, 优先级最低 |
LANGUAGE | 程序界面的语言 |
LC_CTYPE | 输入语言 |
LC_NUMERIC | 数值显示方式 |
LC_TIME | 时间显示方式 |
LC_COLLATE | 归类类别 |
LC_MONETAR | 货币显示方式 |
LC_MESSAGES | 提示信息, 错误信息, 状态信息和菜单等 |
LC_NAME | 姓名书写方式 |
LC_ADDRESS | 地址书写方式 |
LC_TELEPHONE | 电话号码书写方式 |
LC_MEASUREMENT | 度量衡表达方式 |
LC_PAPER | 默认纸张大小 |
LC_IDENTIFICATION | 对locale自身包含信息的概述 |
LC_ALL | 选择整个locale语言环境 |
- 如果想要一个纯中文系统的话, 设定
LC_ALL=zh_CN.UTF-8
- 如果只想要一个中文输入环境, 而保持菜单信息保持为英文, 只要设定
LC_CTYPE=zh_CN.Utf-8
,LANG=en_US.UTF-8
就可以了 - 假如什么也不做的话, 就是默认
LC_ALL
,LC_*
,LANG
均不设定, 系统将采用POSIX
作为locale, 也就是C
locale.
2). LANG和LANGUAGE的区别
LANG
指定所有未设定locale的变量的默认值, 优先级很低LANGUAGE
多数应用程序使用此语言作为面板语言- 优先级:
LC_ALL
>LC_*
>LANG