解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题

解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题

一、Question

一年多的 ArchLinux 用户再次回归。然鹅,见面礼就是终端不能输入中文。

在写这篇文章前,我通过各种搜索都没有得到我遇到的问题解决方案。

我遇到的问题是:Bash 终端可以输入中文,然而 Zsh 输入中文会出现问好。

二、Resolutions

通过查询系统支持已获得当前状态,修改 /etc/locale.gen 更新需要的语言包,使用 localectl set-locale 辅助终端语言设置。

三、Diagnostic

1- 检测系统环境变量

# locale
LANG=C
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

2- 检查系统支持语言

# localectl list-locales 

# locale -a
C
POSIX

确定问题,系统不支持中文。

四、Solve Problem

1- 开启语言支持

# cat /etc/locale.gen | grep -v "^#"
 en_US.UTF-8 UTF-8  
 zh_CN.UTF-8 UTF-8  
 zh_HK.UTF-8 UTF-8  
 zh_TW.UTF-8 UTF-8 

2- 更新语言支持

$ sudo locale-gen
[sudo] password for rabbit: 
Generating locales...
  en_US.UTF-8... done
  zh_CN.UTF-8... done
  zh_HK.UTF-8... done
  zh_TW.UTF-8... done
Generation complete.

3- 辅助语言设置

# localectl set-locale LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8
# localectl status      
   System Locale: LANG=en_US.UTF-8
   ......已截断
# cat ~/.xprofile 
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

# cat /etc/default/locale 
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8:en_US.UTF-8:en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

五、References

  • Wikipedora
  • github
  • archlinux
  • blogs
原文地址:https://www.cnblogs.com/itxdm/p/ArchLinux_solve_Chinese_can_not_input_Chinese_could_not_input_the_problem.html