我的系统是lubuntu,所有中文都可以正确显示,在gedit、leaf、firefox上都可以正确输入,但是
在bash控制台上却无法输入,如何解决?
locale
LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
这是我的 /etc/bash.bashrc 文件。
[ -z "$PS1" ] && return
shopt -s checkwinsize
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "%s: command not found\n" "$1" >&2
return 127
fi
}
fi
这是我的 /root/.bashrc 文件。
export PYTHONPATH=%PYTHONPATH%:/usr/local/python3.4/lib/python3.4/site-packages
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
这是我的常规 bashrc 配置文件。
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export PYTHONPATH=%PYTHONPATH%:/usr/local/python3.4/lib/python3.4/site-packages
我可以将中文复制到剪贴板并粘贴到终端控制台,中文可以从我的粘贴中显示出来。
我的终端是 lxterminal。
输入法是 fcitx。
中文可以在 XTerm 中输入。
现在使用 root 用户名登录,这是我的桌面。
按ctrl+alt+F1,输入root和密码,登录到纯文本界面,输入命令startx
,出现另一个桌面。
在其终端上可以输入中文。问题:
为什么同一个用户有两个桌面图片root
?
为什么在下一个终端上可以输入中文?
现在按ctrl+alt+F7,回到上一个桌面,
在其终端上无法输入汉字。
答案1
Linux 内核内置了一个终端仿真程序。它内部建立在帧缓冲区和输入事件设备上,并以一系列内核虚拟终端设备/dev/tty1
等。严格来说,这不是一定你的安慰,这可能是一个串行终端设备。但我们先跳过这个问题,因为回答这个问题需要知道串行链路另一端的终端硬件是什么。
Linux 内核内置的终端仿真程序不支持输入法。
因此,要拥有具有输入法的非 X11 终端,您需要运行用户空间虚拟终端使用帧缓冲区和输入事件设备。它们将内核终端仿真器与这些设备断开连接,而它们自己正在使用这些设备。
支持输入法的用户空间虚拟终端仿真器包括
- 韓國(Ubuntu 软件包)
- 术语表(Ubuntu 软件包)及其分支,例如术语(Ubuntu 软件包)