Как ввести китайский иероглиф в консоли bash?

Как ввести китайский иероглиф в консоли bash?

Моя система - 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, вернитесь на предыдущий рабочий стол,
введите описание изображения здесь
В lxterminal нельзя ввести китайский символ.

решение1

В ядро ​​Linux встроена программа эмулятора терминала. Она построена на основе буфера кадра и устройств событий ввода, внутренне, и представляет себя системам режима приложений как рядвиртуальный терминал ядраустройства /dev/tty1и т. д. Строго говоря, это необязательнотвойконсоль, который может быть последовательным терминальным устройством. Но давайте пропустим это, потому что ответ на этот вопрос подразумевает знание того, какое терминальное оборудование находится на другом конце последовательного канала.

Программа эмулятора терминала, встроенная в ядро ​​Linux, не поддерживает методы ввода.

Таким образом, чтобы иметь терминал, отличный от X11, с методами ввода, вам нужно запуститьвиртуальный терминал пользовательского пространствакоторый использует буфер кадра и устройства событий ввода. Они отключают эмулятор терминала в ядре от этих устройств, в то время как сами используют их.

Эмуляторы виртуального терминала пользовательского пространства, поддерживающие методы ввода, включают:

дальнейшее чтение

решение2

введите описание изображения здесь Для входа в систему под обычным именем.

введите описание изображения здесь Для входа в систему с правами root.

Удалить три строки в /etc/profile, /etc/bash.bashrc, /root/.bashrc и ~/.bashrc.

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

vim /etc/X11/Xsession.d/25xchinput

export LAGN=zh_CN.utf8
export LC_CTYPE=zh_CN.utf8
export XMODIFIERS=@im=fcitx
fcitx & 

Связанный контент