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

news2024/9/24 6:12:09

前言

书接上回,一时兴起将主力机的 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.coloradmin.cn/o/1487077.html

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

相关文章

浅谈马尔科夫链蒙特卡罗方法(MCMC)算法的理解

1.解决的问题 计算机怎么在任意给定的概率分布P上采样?首先可以想到把它拆成两步: (1)首先等概率的从采样区间里取一个待定样本x,并得到它的概率为p(x) (2)然后在均匀分布U[0,1]上取一个值&a…

可视化管理的kanban插件 | Obsidian实践

继上一篇文章之后,有朋友提问说: 刚好,关于kanban插件的素材,是之前一早就准备好的,便快速整理成文,简单分享一下个人实践。 Prompt:项目流程管理看板,色彩鲜艳。by 通义万象 看板管…

C++调用lua函数

C 调用Lua全局变量(普通) lua_getglobal(lua, "width");int width lua_tointeger(lua,-1);lua_pop(lua,1);std::cout << width << std::endl;lua_close(lua); 这几行代码要放到lua_pcall(lua, 0,0,0);之后才可以. C给lua传递变量 lua_pushstring(lua, …

三、低代码平台-单据配置(单表增删改查)

一、业务效果图 主界面 二、配置过程简介 配置流程&#xff1a;业务表设计 -》业务对象建立-》业务单据配置-》菜单配置。 a、业务表设计 b、业务对象建立 c、业务单据配置 功能路径&#xff1a;低代码开发平台/业务开发配置/单据配置维护 d、菜单配置

【JavaEE】_Spring MVC 项目传参问题

目录 1. 传递单个参数 1.1 关于参数名的问题 2. 传递多个参数 2.1 关于参数顺序的问题 2.2 关于基本类型与包装类的问题 3. 使用对象传参 4. 后端参数重命名问题 4.1 关于RequestPara注解 1. 传递单个参数 现创建Spring MVC项目&#xff0c;.java文件内容如下&#xff…

【k8s存储--使用OpenEBS做持久化存储】

1、简介 使用OpenEBS&#xff0c;你可以将有持久化数据的容器&#xff0c;像对待其他普通容器一样来对待。OpenEBS本身也是通过容器来部署的&#xff0c;支持Kubernetes、Swarm、Mesos、Rancher编排调度&#xff0c;存储服务可以分派给每个pod、应用程序、集群或者容器级别&am…

Mybatis plus拓展功能-JSON处理器

目录 1 前言 2 使用方法 2.1 定义json实体类 2.2 在实体类中使用 1 前言 这是我最近学到的比较新奇的一个东西&#xff0c;数据库居然还可以存储JSON格式的数据&#xff0c;如下。虽然我感觉一般也没谁会这样干&#xff0c;但是既然有&#xff0c;那就当个科普讲一下Mybat…

【自然语言处理】NLP入门(三):1、正则表达式与Python中的实现(3):字符转义符及进制转换

文章目录 一、前言二、正则表达式与Python中的实现1.字符串构造2. 字符串截取3. 字符串格式化输出4. 字符转义符a. 常用字符转义符续行符换行符制表符双引号单引号反斜杠符号回车符退格符 b. ASCII编码转义字符进制转换2 进制8 进制10 进制16 进制进制转换函数 c. Unicode字符\…

每天学习一个Linux命令之gunzip

每天学习一个Linux命令之gunzip 在Linux系统中&#xff0c;有许多强大且常用的命令&#xff0c;其中之一是gunzip。gunzip命令用于解压缩.gz文件&#xff0c;它是gzip的伴生命令之一。本篇博客将详细介绍gunzip命令及其可用的选项&#xff0c;以帮助您更好地理解和使用这个命令…

运放设计选型中关注的参数-运算放大器选型参数

1、直流增益&#xff08;AVD&#xff09; 直流增益是运放最重要一个属性之一&#xff0c;其定义为输出电压的变化与输入电压变化之比值&#xff0c;通常用V/mV表示这个比值&#xff0c;例如&#xff0c;增益为30000&#xff0c;可表示为30V/mV&#xff0c;有些地方也会把增益用…

实践航拍小目标检测,基于轻量级YOLOv7tiny开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

搜索旋转排序数组[中等]

优质博文IT-BLOG-CN 一、题目 整数数组nums按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums在预先未知的某个下标k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为[nums[k], nums[k1], ..., nums[n-…

AI蠕虫病毒威胁升级,揭示AI安全新危机

一组研究人员成功研发出首个能够通过电子邮件客户端窃取数据、传播恶意软件以及向他人发送垃圾邮件的AI蠕虫&#xff0c;并在使用流行的大规模语言模型&#xff08;LLMs&#xff09;的测试环境中展示了其按设计功能运作的能力。基于他们的研究成果&#xff0c;研究人员向生成式…

HTML+CSS+JS:日夜交替

效果演示 实现了一个简单的日夜交替效果的动画。页面中包含了太阳、月亮和海洋的元素&#xff0c;通过切换按钮可以切换页面的主题&#xff0c;从白天切换到黑夜&#xff0c;或者从黑夜切换到白天。 Code <div class"btn-box"><div class"sunBtn"…

Docker将本地的镜像上传到私有仓库

使用register镜像创建私有仓库 [rootopenEuler-node1 ~]# docker run --restartalways -d -p 5000:5000 -v /opt/data/regostry:/var/lib/registry registry:2[rootopenEuler-node1 ~]# docker images REPOSITORY TAG IMAGE…

【数据结构与算法】常见排序算法(Sorting Algorithm)

文章目录 相关概念1. 冒泡排序&#xff08;Bubble Sort&#xff09;2. 直接插入排序&#xff08;Insertion Sort&#xff09;3. 希尔排序&#xff08;Shell Sort&#xff09;4. 直接选择排序&#xff08;Selection Sort&#xff09;5. 堆排序&#xff08;Heap Sort&#xff09;…

【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否

作者版本&#xff1a;Android 11及以上 主要是发现网上没有完整的、能跑的代码&#xff0c;不知道怎么回事&#xff0c;GPT给我重写的。我只能保证这个代码尊嘟能跑&#xff0c;不像其他的缺胳膊少腿的。 asserts 贴一下结果&#xff1a; boolean isAssertFileExists(String …

CNN-LSTM-Attention混合神经网络归时序预测的MATLAB实现(源代码)

CNN-LSTM-Attention介绍&#xff1a; CNN-LSTM-Attention混合神经网络是一种结合了卷积神经网络&#xff08;CNN&#xff09;、长短期记忆神经网络&#xff08;LSTM&#xff09;和注意力机制&#xff08;Attention&#xff09;的模型。这种混合神经网络结合了CNN对空间特征的提…

云畅科技携手飞腾打造智慧园区信创低代码综合解决方案

01 方案概述 随着国家对信创产业的日益重视与大力支持&#xff0c;信创行业的产业化进程正在不断加快。智慧园区&#xff0c;作为信创产业蓬勃发展的核心载体与战略平台&#xff0c;正日益凸显其重要性。与此同时&#xff0c;在政策引导和市场需求的双重驱动下&#xff0c;智慧…