linux-安装中文输入法
上一级页面:index-wsl
前言
fcitx是Linux比较流行的输入法框架。
如果你在ubuntu2204-lts,那么更推荐fcitx5。linux-安装中文输入法-fcitx5
设置中文语言-更换中文字体
配置dbus,生成dbus机器码(machine-id)
"machine ID"通常在系统安装或首次启动时从一个随机数源生成, 并且之后无论经过多少次开关机,也一直保持不变。
ubuntu与ui交互需要D-Bus,一般不用安装dbus,ubuntu自带这个包,
1 | sudo apt install dbus dbus-x11 |
生成dbus机器码(machine-id)
1 | sudo systemd-machine-id-setup |
环境预备工作
首先需要确保LC_ALL/LC_CTYPE等变量的设置,见linux-修改系统默认语言为中文
输入法环境变量需要配置到全局用户可用
,并且shell和非shell环境可用
那么应当放入到/etc/environment
(bash的环境变量配置文件)或者/etc/zsh/zshenv
(zsh的环境变量配置文件中)
为了让wsl端和windows正常通信,还需要暴露出dbus session
:具体做法如下
-
首先在 wsl 端安装输入法和 dbus,
-
然后用 dbus-launch 启动一个 dbus session,并且让 x server 和输入法同时得到
DBUS_SESSION_BUS_ADDRESS
,这样输入法才能正常使用,脚本如下:
1 | 设置DBUS_SESSION_BUS_ADDRESS |
最终配置见:wsl2-x11-环境变量配置
现在重启你的系统!!
1 | sudo systemctl reboot |
安装fcitx
安装 fcitx 提供核心的输入框框架
安装 fcitx-frontend-all 可以覆盖所有图形界面平台支持。
安装通用的输入法码表fcitx-table* 套件
1 | sudo apt install fcitx |
安装中文输入法
根据需要安装一个或多个输入法,见Fcitx (简体中文) - ArchWiki (archlinux.org)
标准拼音输入法 包含双拼自然码等
1 | 标准拼音输入法 包含双拼自然码等 |
推荐sun拼音输入法,在输入速度和输入精度之间有较好的平衡。支持双拼
1 | sun拼音输入法,在输入速度和输入精度之间有较好的平衡。 |
推荐fcitx-libpinyin,算法比 sunpinyin 先进。
1 | libpinyin,算法比 sunpinyin 先进。 |
谷歌拼音,一部分人喜欢
1 | google拼音输入法 |
安装五笔输入法
1 | 五笔 |
添加插件
添加插件,提供云拼音输入的支持
1 | 可以提供云拼音输入的支持,支持 Fcitx 下的所有拼音输入法,Fcitx-rime 除外。 |
设置成默认输入法
运行 im-config ,默认输入法设置
1 | sudo apt install -y im-config |
1 | im-config |
设置 Fcitx
为默认输入法:
若图形界面模糊,使用命令设置也可以,如下:
1 | im-config -n fcitx |
配置dbus
配置Dbus
1 | sudo dpkg-reconfigure dbus |
重启wsl
1 | sudo systemctl reboot |
桌面环境下自动启动
如果您用 XDG 兼容的桌面环境,比如 KDE, GNOME, Xfce, LXDE, 那么当您安装好 Fcitx 并重新登录后,Fcitx 应该会自动启动。如果没有的话,可以打开控制台并运行fcitx
。为检验 Fcitx 是否正常运行, 打开一个程序,比如 leafpad, 按 CTRL+Space 激活 Fcitx 并试着输入几个字。
如果 Fcitx 没有随桌面环境自动启动,或者您想修改下 Fcitx 启动参数,请用桌面环境提供的自动启动工具配置,或者直接编辑用户目录~/.config/autostart/
下的 fcitx-autostart.desktop
文件以确认自动启动是否被禁用。如果用户目录下的文件并不存在,您可以复制自动启动文件 /etc/xdg/autostart/fcitx-autostart.desktop
到用户目录:
1 | cp /usr/share/applications/fcitx.desktop ~/.config/autostart/ |
如果您使用的桌面环境并不自动支持 XDG 自动启动, 或者您根本没有桌面环境,请在您使用的启动脚本里面添加 fcitx
以实现自动启动。(见下一小节,我根本就没有桌面环境,只能通过在启动脚本中添加自动启动语句来启动)
例如,你使用i3或sway窗口管理器,可以在配置文件中添加exec --no-startup-id fcitx
来自动启动输入法。
当 iBus 等其它输入法程序同时启动且开启了 Xim 支持时, 可能导致 Fcitx 无法启动,请确保已禁用了其它输入法程序的自动启动。
配置环境变量
最终配置见:wsl2-x11-环境变量配置
类似于下面的配置
1 | gtk 输入法 |
现在重启你的系统!!
1 | sudo systemctl reboot |
fcitx-config-gtk3 启动输入法配置面板
运行以下命令关闭 iBus (注意应当禁用ibus-daemon,其与Fcitx功能冲突)
1 | sudo killall ibus-daemon |
然后关闭fcitx
1 | sudo killall fcitx |
因为上一节已经设置过fcitx自启动,现在重启linux
使用 fcitx-config-gtk3 命令启动输入法配置面板,添加输入法
1 | fcitx-config-gtk3 |
运行fcitx-config-gtk3报错解决方法
有可能运行fcitx-config-gtk3
,失败
删除 ~/.config/fcitx/
文件夹
1 | rm -rf ~/.config/fcitx |
重新安装fcitx-frontend-all
,并且重启系统
1 | sudo apt install --reinstall fcitx |
现在重启你的系统!!
1 | sudo systemctl reboot |
配置输入法
列表第一项将作为「未激活」状态使用,请将此项设为键盘布局输入法,比如「(键盘 - 英文)」,第一项后面的输入法都是活动输入法。。
警告: 请必须将键盘布局输入法
设为列表中第一项, 否则可能会无法禁用中文输入。
有一个only show current lanaguage
的选择,记得取消选择,然后搜索输入法,添加进来。
更改输入法快捷键
在_全局配置_中, 触发输入法
快捷键仅在未激活输入法
及最后一个活动输入法
之间切换。
切换输入法
快捷键默认仅在不同的活动输入法间切换,但是在高级设置中可以将非激活输入法
加入切换选择。
切换输入法
快捷键需要按顺序按下,例如 ALT_SHIFT
仅在先按 alt
再按 shift
后生效。
Trigger Input Method:切换激活/非激活
Scroll between Input Method:输入法切换键
在任意GUI應用用 Trigger Input 設定的快捷鍵啟用輸入法,
用 Scroll between Input Method 的快捷鍵切換輸入法,效果如下:
启用云拼音输入
添加插件,提供云拼音输入的支持
1 | 可以提供云拼音输入的支持,支持 Fcitx 下的所有拼音输入法,Fcitx-rime 除外。 |
安装后重启 Fcitx 即可,所选的云拼音输入结果会自动添加到当前输入法的词库中。提醒:建议在fcitx设置里面将“云拼音来源”由Google改为“百度”,Google国内访问不是很顺畅。
启用云拼音后,从云拼音获得的候选词会默认添加到候选词列表中的第二个,显示位置可以通过云拼音的设置配置。如果云拼音的结果和本地输入法给出的结果一致,云拼音后选项会和本地产生的候选项自动合并,不会产生重复的候选项。
若安装fcitx-cloudpinyin后,在配置程序里却没有看见云拼音,记得勾上“高级”复选框。这时云拼音会显示出来,再勾上云拼音。
注意: 不推荐将云拼音候选词设为第一个候选词,因为当网络情况不好,没有及时返回云拼音结果,那么云拼音结果将默认降到第二候选词的位置,于是这个过程可能会涉及到默认候选词的改变。
命令行切换输入法工具fcitx-imlist
1 | sudo apt install fcitx-imlist |
vim-fcitx
如果您经常在 Vim 下使用 Fcitx, 可以安装 vim-fcitx插件。以退出插入模式时,自动关闭 Fcitx, 反之则反:
see fcitx.vim - keep and restore fcitx state when leaving/re-entering insert mode : vim online
或者在 ~/.vimrc
添加如下代码。
1 | "##### auto fcitx ########### |
使用方法
完成之后重启电脑就行了。
输入法的调出需要ctrl+space,切换是ctrl+shift
Ubuntu安装了xfce4桌面环境后,fcitx因为冲突,会导致系统全局快捷键失效,而且fcitx也会损坏
Ubuntu 18.04 安装了xfce4桌面环境后,fcitx因为冲突,会导致系统全局快捷键失效,而且fcitx也会损坏:
修复方法:
删除~/.config/fcitx,再运行fcitx -d命令。
1 | sudo rm -rf ~/.config/fcitx |
如果出现DBus Service Already Exists的报错,重启系统
重新安装
1 | sudo apt-get install fcitx |
参考、引用、致谢
如何在 Linux 上管理字体 - 知乎 (zhihu.com)
优化中文显示 · GitBook (thoughtworks.cn)
使用X11 Forwarding在WSL 2中运行GUI程序 | ddadaal.me
(23条消息) linux 字体库配置,添加自定义字体库_Ternence_Hsu的博客-CSDN博客_font.conf
Ubuntu 16.04安装字体管理工具 - EasonJim - 博客园 (cnblogs.com)
https://linux.cn/article-4732-1-rss.html
http://www.linuxidc.com/Linux/2014-05/101191.htm
http://blog.csdn.net/tao_627/article/details/45114827
(23条消息) ubuntu server 安装相应图形化界面程序_Blithe的博客-CSDN博客
linux中文乱码问题解决 - 简书 (jianshu.com)
在Windows默认缩放比例和WSL GUI应用程序(HiDPI)上使用模糊字体 | 码农俱乐部 - Golang中国 - Go语言中文社区 (mlog.club)
如何优雅的在Windows 10上装X [Lainme’s Blog]
在 WSL 上配置輸入法 | Patrick Wu’s Space
Ubuntu安装搜狗输入法无法使用 - OSCHINA - 中文开源技术交流社区
Ubuntu 14.04 安装小企鹅输入法 Fcitx - linux_magnetic_storm - OSCHINA - 中文开源技术交流社区
(24条消息) Ubuntu 一键安装搜狗输入法!全网唯一!_Linux猿的博客-CSDN博客
(24条消息) locale的设定中LANG、LC_ALL、LANGUAGE_天下皆白_唯我独黑的博客-CSDN博客