
私のシステムは 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 で入力できます。
ルート ユーザー名でログインすると、デスクトップが表示されます。
ctrl+alt+F1 を押して、ルートとそのパスワードを入力し、純粋なテキスト インターフェイスにログインしてコマンドを入力すると、startx
別のデスクトップが表示されます。
中国語の文字は、その lxterminal で入力できます。質問:
同じユーザーのデスクトップ写真が 2 つあるのはなぜですかroot
?
次の lxterminal で中国語の文字を入力できるのはなぜですか?
ctrl+alt+F7 を押すと、前のデスクトップに戻ります。
lxterminal では中国語の文字を入力できません。
答え1
Linuxカーネルには端末エミュレータプログラムが組み込まれています。これはフレームバッファと入力イベントデバイス上に内部的に構築されており、アプリケーションモードのシステムに対して一連のカーネル仮想端末デバイス/dev/tty1
など。厳密に言えば、これは必然的にあなたのコンソールこれはシリアル端末デバイスである可能性があります。ただし、その質問に答えるには、シリアルリンクのもう一方の端にある端末ハードウェアが何であるかを知る必要があるため、ここでは省略します。
Linux カーネルに組み込まれている端末エミュレータ プログラムは入力メソッドをサポートしていません。
したがって、入力メソッドを備えた非X11端末を使用するには、ユーザー空間仮想端末フレーム バッファと入力イベント デバイスを使用するアプリケーションです。これらのアプリケーションは、それらを使用している間は、カーネル内端末エミュレータをそれらのデバイスから切断します。
入力メソッドをサポートするユーザー空間仮想端末エミュレーターには、
- ジコン(Ubuntu パッケージ)
- フェイスブック(Ubuntu パッケージ)およびその派生であるjfbterm(Ubuntu パッケージ)