Como inserir caracteres chineses no console do bash?

1

Meu sistema é lubuntu, todo caractere chinês pode ser exibido corretamente, e pode ser inserido corretamente em gedit, leaf, firefox.
Não pode ser inserido no meu console bash, como consertá-lo?

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=

Aqui está o meu arquivo /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 -- ""
                   return $?
                elif [ -x /usr/share/command-not-found/command-not-found ]; then
           /usr/share/command-not-found/command-not-found -- ""
                   return $?
        else
           printf "%s: command not found\n" "" >&2
           return 127
        fi
    }
fi

Aqui está o meu arquivo /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"

Aqui está o meu arquivo de configuração bashrc normal.

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

E eu posso copiar o caractere chinês na área de transferência e colá-lo no console do terminal, o caractere chinês pode ser exibido a partir da minha pasta.
Meu terminal é lxterminal.
O método de entrada é fcitx.
O caractere chinês pode ser inserido no XTerm.
Agora, para entrar com o nome de usuário root, aqui está o meu desktop.

Para pressionar ctrl + alt + F1, para inserir root e seu passwd, efetue login na interface de texto puro e digite o comando startx , outra área de trabalho será exibida.

O caractere chinês pode ser inserido em seu lxterminal. perguntas:
Por que há duas fotos da área de trabalho para o mesmo usuário root ?
Por que o caráter chinês pode ser inserido no próximo lxterminal?
Agora pressione ctrl + alt + F7, volte para a área de trabalho anterior,
personagem chinês não pode ser inserido no seu lxterminal.

    
por it_is_a_literature 10.06.2016 / 11:25

2 respostas

2

Existe um programa emulador de terminal embutido no kernel do Linux. Ele é construído sobre o buffer de quadros e dispositivos de eventos de entrada, internamente, e se apresenta para sistemas no modo aplicativo como uma série de dispositivos terminal virtual do kernel , /dev/tty1 e assim por diante. Estritamente falando, isso não é necessariamente seu console , que poderia ser um dispositivo terminal serial. Mas vamos pular isso, porque responder por isso envolveria saber qual hardware de terminal estava na outra extremidade do link serial.

O programa emulador de terminal que está embutido no kernel do Linux não suporta métodos de entrada.

Portanto, para ter um terminal não-X11 com métodos de entrada, você precisa executar um terminal virtual do espaço do usuário que use o buffer de quadros e os dispositivos de eventos de entrada. Eles desconectam o emulador de terminal no kernel desses dispositivos, enquanto eles mesmos os estão usando.

Emuladores de terminal virtual de espaço do usuário que suportam métodos de entrada incluem

Leitura adicional

por JdeBP 10.06.2016 / 12:05
0

Para fazer o login com o nome normal.

Para fazer o login com root.

Para excluir as três linhas em / etc / profile e /etc/bash.bashrc e /root/.bashrc e ~ / .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 & 
    
por it_is_a_literature 11.06.2016 / 11:44