.. _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输入引擎