信创服务器VNC安装中文输入法

信创服务器VNC安装中文输入法

信创服务器VNC安装中文输入法

前言

在信创环境下,麒麟 Linux 服务器通常通过 VNC 提供远程图形桌面,方便运维人员操作。然而,默认的英文环境在编辑中文文档、填写中文表单或进行本地化配置时会产生诸多不便。本文旨在帮助您快速为信创服务器端的 VNC 环境安装中文输入法,解决远程办公中的中文输入难题。

文章涵盖了两种方案:

  • Fcitx5(新版本,支持更好,推荐优先尝试):适合麒麟仓库里已收录fcitx5包的场景。
  • Fcitx4(经典版本,兼容性广泛):当仓库中只收录了fcitx(4.x)包时的备选方案。

选择依据很简单:先用yum search fcitx5检查仓库中是否有 Fcitx5 相关包,若有则优先使用;若仅有 Fcitx4,则退而求其次。

TL;DR 快速指引

  • 🟢 若仓库里有 Fcitx5 → 直接看 一、安装 Fcitx5 及中文支持核心包 和 二、配置环境变量。
  • 🟡 若仅有 Fcitx4 → 跳至 四、如果 yum 搜不到5版本,按步骤配置 Fcitx4。
  • 无论安装哪个版本,都要在 VNC 的 xstartup 中设置环境变量并启动输入法守护进程。

一、安装 Fcitx5 及中文支持核心包

在能读到包的环境下(yum系麒麟 V10 仓库里通常叫类似名字,若 ISO 内是 apt 系则用 apt,下面以 yum/dnf 常见命名思路给出,实际以yum search fcitx5为准):

# 安装 Fcitx5 主框架、配置工具、拼音及中文附加组件yuminstall-yfcitx5 fcitx5-pinyin fcitx5-chinese-addons fcitx5-configtool\fcitx5-frontend-gtk3 fcitx5-frontend-qt5

二、配置环境变量(VNC + MATE 必须)

编辑~/.vnc/xstartup~/.bashrcVNC 场景一定要写进 xstartup):

exportLANG=zh_CN.UTF-8exportGTK_IM_MODULE=fcitx5exportQT_IM_MODULE=fcitx5exportXMODIFIERS=@im=fcitx5

配置生效

source~/.bashrc

~/.vnc/xstartup里,启动桌面之前加一句拉起 fcitx5:

fcitx5-d&

完整的 xstartup 片段示例(MATE):

#!/bin/shunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSexportLANG=zh_CN.UTF-8exportGTK_IM_MODULE=fcitx5exportQT_IM_MODULE=fcitx5exportXMODIFIERS=@im=fcitx5 fcitx5-d&execmate-session

然后重启 VNC:

# 1. 停止当前的 VNC 会话 :1vncserver-kill:1# 2. 启动新的 VNC 会话 :1vncserver :1# 3. 检查是否还有残留的 VNC 进程(如果存在,使用 kill -9 强制杀掉)psaux|grepXvnc|grep:1# 4. 清理 VNC 可能遗留的锁文件和 socket(避免重启失败)rm-f/tmp/.X1-lockrm-f/tmp/.X11-unix/X1

三、在 VNC 桌面里添加中文输入法

连上 VNC 后,打开终端执行:

fcitx5-configtool

图形界面里:

  1. 点左下角“+”
  2. 取消勾选“只显示当前语言”
  3. 搜索Pinyin拼音
  4. 选中Fcitx5 Pinyin,点添加
  5. 关闭窗口

此时 MATE 顶部面板会出现Fcitx5 图标,默认切换快捷键一般是:

  • Super + Space
  • Ctrl + Space

打开mate-terminal或文本编辑器即可输入中文。

四、如果yum搜不到5版本

如果yum搜不到,说明 ISO/仓库里没打包 fcitx5,Fcitx5 在部分麒麟服务器仓库里可能不是主干选择。麒麟服务器版(Server)的离线 ISO 源里,通常只收录了Fcitx 4.x(老版本,包名一般是fcitxfcitx-pinyinfcitx-table),不包含 Fcitx 5。Fcitx5 多见于桌面版(Desktop)或较新的滚动发行版,在 RHEL/CentOS 系的旧底座服务器里默认是没有的。

  1. 可以验证一下源里到底有什么,在终端跑:
yum search fcitx

如果输出只有fcitx.x86_64fcitx-pinyin这类,就实锤只有Fcitx 4,没有 5。

在这台服务器上的可行选择

yuminstall-yfcitx fcitx-pinyin fcitx-configtool\fcitx-gtk3 fcitx-qt5 fcitx-table-chinese

各包作用对应关系:

  • fcitx:输入法框架核心(4.x)
  • fcitx-pinyin:拼音引擎(中文输入)
  • fcitx-configtool:图形化配置工具(fcitx-configtool)
  • fcitx-gtk3 / fcitx-qt5:MATE(GTK3)和 Qt 程序的前端支持
  • fcitx-table-chinese:额外中文码表(五笔、郑码等,可选)
  1. 验证:
whichfcitx fcitx--version
  1. 编辑 ~/.bashrc末尾追加:
exportGTK_IM_MODULE=fcitxexportQT_IM_MODULE=fcitxexportXMODIFIERS=@im=fcitx
  1. 然后生效:
source~/.bashrc
  1. 修改~/.vnc/xstartup(MATE + VNC 关键点)

    vi~/.vnc/xstartup#!/bin/shunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSexportLANG=zh_CN.UTF-8exportGTK_IM_MODULE=fcitxexportQT_IM_MODULE=fcitxexportXMODIFIERS=@im=fcitx# 启动 Fcitx 4(fcitx5 才是 fcitx5 -d,这里是 fcitx -d 或 fcitx &)fcitx-d&# 启动 MATE 桌面execmate-session
  2. 保存后赋权并重启 VNC(以:1为例)

    # 1. 赋予 xstartup 执行权限(否则 VNC 可能不会执行该脚本)chmod+x ~/.vnc/xstartup# 2. 停止当前的 VNC 会话 :1vncserver-kill:1# 3. 重新启动 VNC 会话 :1vncserver :1# 4. 再次停止并启动,以确保彻底重启(可选,视需要执行)vncserver-kill:1 vncserver :1# 5. 检查是否还有残留的 VNC 进程(如果存在,使用 kill -9 强制杀掉)psaux|grepXvnc|grep:1# 6. 清理 VNC 可能遗留的锁文件和 socket(避免下次启动报错)rm-f/tmp/.X1-lockrm-f/tmp/.X11-unix/X1
  3. 在VNC终端执行

    fcitx-configtool

    图形界面里:

    1. 点左下角“+”
    2. 取消勾选“只显示当前语言”
    3. 搜索Pinyin拼音
    4. 选中Pinyin,点添加
    5. 关闭窗口

    默认切换快捷键一般是:

    • Super + Space
    • Ctrl + Space

    打开mate-terminal或文本编辑器即可输入中文。