.. _archlinux_chinese:
===================
arch linux中文环境
===================
在 arch linux 中,我使用 :ref:`archlinux_sway` 桌面,并且使用 :ref:`fcitx` 结合 :ref:`linux_chinese_view` 来完成工作环境:
中文显示
===========
- 设置字符集支持 :ref:`locale_env` , 配置 ``/etc/locale.gen`` 和 ``/etc/locale.conf`` :
.. literalinclude:: archlinux_chinese/archlinux_locale
:language: bash
:caption: 字符集支持UTF-8
- 安装文泉驿中文字体:
.. literalinclude:: archlinux_chinese/archlinux_fonts_wqy
:language: bash
:caption: arch linux安装文泉驿中文字体
中文输入法
============
- 安装 :ref:`fcitx` + 中文addons (依赖安装 fcitx5-qt ,所以安装软件非常大,有321MB):
.. literalinclude:: archlinux_chinese/archlinux_fcitx_chinese-addons
:language: bash
:caption: arch linux安装fcitx5和chinese-addons
- (可选,如果在x86平台) 使用 :ref:`fcitx` + Rime引擎: (ArchLinux没有提供ARM版本Rime,只有x86版本):
.. literalinclude:: archlinux_chinese/archlinux_fcitx_rime
:language: bash
:caption: arch linux安装fcitx5和rime输入引擎
配置中文输入法
=================
- 启用fcitx的输入需要配置环境变量,标准方式是修改 ``/etc/environment`` (通用于各种 :ref:`shell` ),添加以下配置
.. literalinclude:: ../desktop/chinese/fcitx/environment
:language: bash
:caption: 启用fcitx5环境变量配置 /etc/environment
- 按照 :ref:`sway` 配置标准方法,先复制全局配置到个人配置目录下:
.. literalinclude:: ../desktop/sway/run_sway/cp_sway_config
:language: bash
:caption: 复制sway个人配置
- 在个人配置定制文件 ``~/.config/sway/config`` 中添加一行:
.. literalinclude:: ../desktop/chinese/fcitx_sway/config_add
:language: bash
:caption: 在 ~/.config/sway/config 中添加运行 fcitx5 的配置
- 安装fcitx5-configtool::
pacman -S fcitx5-configtool
.. note::
非必须,我觉得只要做好依次配置调整,将配置文件保存备用就可以了。配置文件是 ``.config/fcitx5`` 目录下文件
配置
=======
- 执行 ``fcitx5-configtool`` 配置,有可能报错: 找不到 ``wayland`` 和 ``xcb`` 的QT插件,这是因为QT程序需要:
- 安装 ``qt5-wayland``
- 设置 ``/etc/environment`` ::
QT_QPA_PLATFORM=wayland
使用
=======
- 使用 ``qterminal`` 较为方便,fcitx5对于QT5输入支持很完美,所以在sway环境使用qterminal输入中文还是很顺利的
- chromium依然没有解决中文输入,所以还是如 :ref:`run_sway` 一样使用firefox来支持中文输入。 :strike:`但是这次遇到奇怪问题,就是fcitx5的候选字不显示`
- 需要安装 ``fcitx5-gtk`` 才能在firefox中使用fcitx5输入法时候显示"候选字符",否则看不到候选字词就只能盲打输入中文
alacritty
----------------
alacritty 虽然非常轻量级并且速度很快,但是fcitx5中文输入时无法显示选词,只能盲打输入中文 - 中文显示和输入是支持的,就是无法选词非常懊恼。
.. note::
`Fcitx5 and Terminal `_ 讨论了终端支持的配置,其中提到 ``sway`` 不支持选词框(除非程序在Xwayland中显示选词框)。QT应用不支持Wayland text-input-v3协议,所以需要使用DBus(设置 ``QT_IM_MODULE=fcitx5`` )。类似chromium也不使用text-input-v3。
参考 `alacritty无法使用输入法问题 `_ 提供了解决思路,就是将alacritty执行命令修订成::
env WINIT_UNIX_BACKEND=x11 alacritty
这样渲染后端改为x11就行切换出中文输入法
此时提示::
thread 'main' panicked at 'Failed to initialize X11 backend: XOpenDisplayFailed', /build/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.27.4/src/platform_impl/linux/mod.rs:684:26
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
我没有近一步实践,而是改为使用 ``qterminal``
chrome
--------
我一直没有解决chrome中文输入问题,不过参考 `Fcitx Wayland(Sway) Support #292 `_ 说明:
- chrome在sway(wayland)不能输入中文的bug和fcitx5无关,是由于chrome在ozone wayland平台不支持gtk im模块导致的: `Issue 1183262: Add support for gtk im module on ozone wayland platform `_
- 参考 `无法在Chrome(Wayland)中使用fcitx5 #263 `_ 提供的workroudn方法:
- 系统安装 ``gtk4`` ,然后运行 chrome/chromium 时使用参数 ``--gtk-version=4`` ::
chromium -enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4
- **不过我尝试没有成功** 由于可以使用firefox作为主力浏览器,需求不高,我暂时放弃尝试
- 有提示chrome安装kimpanel扩展,然后就能够在Gnome环境输入(感觉这个可能可以,但未尝试)
参考
=====
- `arch linux: Localization/Chinese `_
- `arch linux: Fcitx5 `_
- `arch linux: Rime `_ 使用 Rime输入引擎