在Ubuntu22.04安装Fcitx5中文输入法教程(十分详细)

前言

书接上回,一时兴起将主力机的 Ubuntu 20.04 LTS 升级至了刚刚发布的 22.04 LTS。从 X 切换到 Wayland 、GNOME 从 3.36 升级至 42、Python 默认为 3.10 等等……使用太新的软件包反而暂时带来了麻烦,部分原有的软件和插件都不可用了。这其中就包括已经很久没有更新的百度输入法。故需要寻找新的中文拼音输入法。经简单浏览对比,选择了 Fcitx 5。

小企鹅输入法

本文适用于 Ubuntu 22.04 及以上版本,20.04 可以参考:

Ubuntu20.04 安装fcitx5输入法 - 纯白的小站​ouyen.github.io/fcitx5-ubuntu/

安装

检查系统中文环境

在 Ubuntu 设置中打开「区域与语言」—— 「管理已安装的语言」,然后会自动检查已安装语言是否完整。若不完整,根据提示安装即可。

检查可用的语言支持

最小安装

为使用 Fcitx 5,需要安装三部分基本内容:

  1. Fcitx 5 主程序
  2. 中文输入法引擎
  3. 图形界面相关

按照这个思路,可以直接使用 apt 进行安装:

sudo apt install fcitx5 \
fcitx5-chinese-addons \
fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 \
fcitx5-frontend-qt5

安装中文词库

在 GitHub 打开维基百科中文拼音词库的 Releases 界面,下载最新版的 .dict 文件。按照 README 的指导,将其复制到 ~/.local/share/fcitx5/pinyin/dictionaries/ 文件夹下即可。

# 下载词库文件
wget https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases/download/0.2.4/zhwiki-20220416.dict
# 创建存储目录
mkdir -p ~/.local/share/fcitx5/pinyin/dictionaries/
# 移动词库文件至该目录
mv zhwiki-20220416.dict ~/.local/share/fcitx5/pinyin/dictionaries/

配置

设置为默认输入法

使用 im-config 工具可以配置首选输入法,在任意命令行输入:

im-config

根据弹出窗口的提示,将首选输入法设置为 Fcitx 5 即可。

环境变量

需要为桌面会话设置环境变量,即将以下配置项写入某一配置文件中:

export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

如果使用 Bash 作为 shell,则建议写入至 ~/.bash_profile ,这样只对当前用户生效,而不影响其他用户。

另一个可以写入此配置的文件为系统级的 /etc/profile 。

将配置写入到/etc/profile文件末尾

开机自启动

安装 Fcitx 5 后并没有自动添加到开机自启动中,每次开机后需要手动在应用程序中找到并启动,非常繁琐。

解决方案非常简单,在 Tweaks(sudo apt install gnome-tweaks)中将 Fcitx 5 添加到「开机启动程序」列表中即可。

将Fcitx5添加到开机启动程序列表中

Fcitx 配置

Fcitx 5 提供了一个基于 Qt 的强大易用的 GUI 配置工具,可以对输入法功能进行配置。有多种启动该配置工具的方法:

  1. 在应用程序列表中打开「Fcitx 配置」
  2. 在 Fcitx 托盘上右键打开「设置」
  3. 命令行命令 fcitx5-configtool

根据个人偏好进行设置即可。需要注意的是「输入法」标签页下,应将「键盘 - 英语」放在首位,拼音(或其他中文输入法)放在后面的位置。

Fcitx5 configtool

自定义主题

Fcitx 5 默认的外观比较朴素,用户可以根据喜好使用自定义主题。

第一种方式为使用经典用户界面,可以在 GitHub 搜索主题,然后在 Fcitx5 configtool —— 「附加组件」 —— 「经典用户界面」中设置即可。

第二种方式为使用 Kim面板,一种基于 DBus 接口的用户界面。此处安装了 Input Method Panel 这个 GNOME 扩展,黑色的风格与正在使用的 GNOME 主题 Orchis-dark 非常搭配。

Input Method Panel 效果

已知问题

修复 JetBrains 系 IDE 显示问题

在 JetBrains 系 IDE(如 PyCharm)中,输入法选择框的位置始终固定于屏幕左下角,而非随输入光标移动,在中文输入很不方便。该问题为 IDE 的 JetBrainsRuntime 缺陷所致。可尝试使用 RikudouPatrickstar/JetBrainsRuntime-for-Linux-x64 这个仓库发布的 JBR 文件解决。

卸载 iBus 影响 Fcitx 5 正常使用

出于精简空间和减少冲突干扰之考虑,使用

sudo apt remove ibus

卸载了 iBus,但重启(使生效)之后发现 Fcitx 5 受到了影响。具体表现为:除在终端中之外,其他输入场景无法切换至中文输入。使用 apt 装回 iBus,再次重启即又恢复正常。

检查包依赖关系,卸载 ibus 包后会自动移除 ibus-data、ibus-gtk4、python3-ibus-1.0 三个包,似乎都只是与 iBus 紧密联系的。暂为不解之谜。

参考

官方 Wiki —— 安装Fcitx5

官方 Wiki —— Setup Fcitx 5

官方 Wiki —— 定制主题

Ubuntu20.04 安装fcitx5输入法

感慨

本次折腾中的几点感慨:

  1. 谨慎缓慢更新:像主力机操作系统这样重要的东西,应至少等待数月再跟进
  2. 善用官方文档,中文博客仅供参考:每台机器的环境都有所不同,每个用户的喜好也有差异,其他人的安装记录帖可以参考(包括本文),但还是要以官方文档(大概率是英文,阅读稍累一些)为准

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/718014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI Agent系列】【MetaGPT多智能体学习】7. 剖析BabyAGI:原生多智能体案例一探究竟(附简化版可运行代码)

本系列文章跟随《MetaGPT多智能体课程》(https://github.com/datawhalechina/hugging-multi-agent),深入理解并实践多智能体系统的开发。 本文为该课程的第四章(多智能体开发)的第五篇笔记。今天我们拆解一个之前提到…

Docker之数据卷

文章目录 一、什么是数据卷二、自定义镜像 一、什么是数据卷 1.1Docker 数据管理 在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行 数据共享,这必然涉及容器的数据管理操作 1.2操作 将宿主机的目录与容器的目…

使用DockerFile构建Tomcat镜像

1、准备镜像文件tomcat压缩包,jdk的压缩包 tomcat链接:https://pan.baidu.com/s/1Xpecb-BSGR2sdxSL7FDtBw?pwd1234 提取码:1234 jdk链接:https://pan.baidu.com/s/1mQHInn27j1I9uuuicBsyAA?pwd1234 提取码:1234 …

惠普GT5810打印机报错E9的处理方法

当打印机检测到供墨系统需要维护时,将会出现 E9 错误。 吴中函 打印出的带错误的供墨系统维护页包含解决该错误的说明。 出现 E9 警告时维持 HP Ink Tank 打印机的打印质量,出现 E9 警告时如何维持 HP Ink Tank 打印机的打印质量。 惠普5810报错E9通常…

冒泡排序(C语言详解)

原理:从左到右一次比较,如果左侧数字比右侧数字大(小),则两数交换,否则比较下一 组数字,每一次大循环比较可以将乱序的最右侧数字改为最大(最小)&#xff0c…

jupyter 一键快捷启动方法研究

1.效果 首先打开dat 文件,同意赋予管理员 输入序号1 成功启动 2.Bat代码 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&e…

mac报错:zsh: command not found: npm

1、问题概述? 在mac系统中使用npm命令的时候,mac os报错提示: zsh: command not found: npm 一般出现发这种情况的原因时没有安装npm,而npm这命令时集成在nodejs中的,所以安装nodejs就可以了。 2、解决办法 本质就是需要安装…

Spring:FactoryBean预加载逻辑以及自定义实现Mybatis的接口扫描

Spring:FactoryBean预加载逻辑以及自定义实现Mybatis的接口扫描 1 前言 参考Mybatis框架的Mapper注解扫描Mapper接口的业务逻辑,其中集成Spring的逻辑里使用到了Spring框架的FactoryBean拓展点,本文针对Spring FactoryBean的加载流程进行分…

leetcode10正则表达式匹配

leetcode10正则表达式匹配 思路python 思路 难点1 如何理解特殊字符 ’ * ’ 的作用? 如何正确的利用特殊字符 ’ . ’ 和 ’ * ’ ? * 匹配零个或多个前面的那一个元素 "a*" 可表示的字符为不同数目的 a,包括: "…

【大厂AI课学习笔记NO.65】机器学习框架和深度学习框架

笔记思维脑图已上传,访问我的主页可下载。 https://download.csdn.net/download/giszz/88868909 广义上,机器学习框架包含了深度学习框架。 本质上,机器学习框架涵盖分类、回归、聚类、异常检测和数据准备等各种学习方法。 深度学习框架涵…

SpringBoot启动扩展应用:干预优化+加快启动时间

一、SpringBoot启动配置原理简述 本内容直接查看分析SpringBoot启动配置原理,传送门: 二、SpringBoot启动过程干预 Spring Boot启动过程中我们可以实现以下干预工作: 修改Spring Boot默认的配置属性。使用ConfigurationProperties和Enable…

python celery beat实现定时任务

在Celery在python中的应用除了实现异步任务(async task)外也可以执行定时任务(beat) 1.Celery定时任务是什么? Celery默认任务单元由任务生产者触发,但有时可能需要其自动触发, 而beat进程正是负责此类任务,能够自动触发定时/周期性任务. 只需要在配置…

吴恩达deeplearning.ai:学习曲线决定下一步怎么做

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 学习曲线是一种图形表示方法,用于展示模型在训练过程中的学习表现,即模型的训练集和验证集上的性能如何随着训练时间的增加而变化。可以帮助我们了解模型的学习进度。…

制作耳机壳的UV树脂和塑料材质哪一个成本更高一些?

总体来说,制作耳机壳的UV树脂的成本可能会略高于塑料材质。 原材料成本:UV树脂通常是通过复杂的合成过程制成的。这些过程不仅需要大量的能源投入,还需要较高水平的技术和设备支持,因此原材料成本较高。相比之下,塑料…

04-prometheus服务的动态发现

一、概述 目前,我们每增加一个被监控的节点,就需要修改prometheus的配置文件,然后重新加载prometheus服务,这种方式比较繁琐,每次新增、删除被监控节点都需要重新操作一遍,不适合生产环境的大规模监控架构&…

Go-zero中分布式事务的实现(DTM分布式事务管理器,在一个APi中如何调用两个不同服务的rpc层,并保证两个不同服务之间的业务逻辑同时成功)

涉及到的相关技术 1.DTM分布式事务管理器,解决跨数据库、跨服务、跨语言栈更新数据的一致性问题。 2.SAGA事务模式,SAGA事务模式是DTM中常用的一种模式,简单易上手.(当然还有其它更多的事务模式,这里采用的SAGA只不过是其中一种较为简单的方法) 3.Go-zero框架,ETCD服务注册... …

Windows 2012 设置 nginx 开机自启动(适用于windows2012/10)

Windows 2012 设置 nginx 开机自启动(适用于windows2012/10)https://www.cnblogs.com/xuegqcto/articles/7521483.html 在windows server 2012上安装nginx,同时配置开机自启动服务(推荐使用“Windows Service Wrapper”工具&…

【Linux】线程概念|线程理解|线程控制

文章目录 线程概念Linux中线程是否存在的讨论线程创建和线程控制线程的终止和等待(三种终止方式 pthread_join()的void**retval) 线程概念 线程就是进程内部的一个执行流,线程在进程内运行,线程在进程的地址空间内运行&#xff0…

LeetCode-第14题-最长公共前缀

1.题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 2.样例描述 3.思路描述 按字符串数组每个数组的长度,将字符串数组从小到大排序;他们的公共前缀一定小于或等于最长元素长度…

2024年智能驾驶年度策略:自动驾驶开始由创造型行业转向工程型行业

感知模块技术路径已趋于收敛,自动驾驶从创造型行业迈向工程型行业。在特斯拉的引领下,国内主机厂2022年以来纷纷跟随特斯拉相继提出“重感知、轻地图”技术方案,全球自动驾驶行业感知模块技术路径从百花齐放开始走向收敛。我们认为主机厂智能…