
我的系統是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
,出現另一個桌面。
可以在其lxterminal中輸入漢字。問題:
為什麼同一個使用者有兩張桌面照片root
?
為什麼在接下來的lxterminal可以輸入漢字?
現在按ctrl+alt+F7,回到之前的桌面,
lx終端機無法輸入中文。
答案1
Linux 核心中內建了一個終端模擬器程式。它在內部構建於幀緩衝區和輸入事件設備之上,並將自身作為一系列核心虛擬終端設備/dev/tty1
等。嚴格來說這不是一定你的安慰,它可以是串行終端設備。但讓我們跳過這個,因為回答這個問題需要知道串行鏈路另一端的終端硬體是什麼。
Linux核心內建的終端仿真程式不支援輸入法。
因此,要擁有一個帶有輸入法的非 X11 終端,您需要運行使用者空間虛擬終端使用幀緩衝區和輸入事件設備。他們在自己使用這些設備時斷開內核終端模擬器與這些設備的連接。
支援輸入法的用戶空間虛擬終端模擬器包括