rxvt-unicode + mc - caracteres estranhos apenas no shell raiz

1

Usando o rxvt-unicode-9.11 e o mc-4.7.5.2, e usando o zsh-4.3.11 como meu shell de login, descubro que obtenho caracteres estranhos, por exemplo, â em vez de linhas sendo desenhadas.

Curiosamente, lançar o urxvt a partir de qualquer shell de root e, em seguida, executar o mc dentro dele renderiza as linhas corretamente.

No Xdefaults não estou definindo uma fonte.

Eu pensei que qualquer shells filho deveria herdar o mesmo que o shell pai, mas claramente aqui não é.

Exportações no pai:

COLON_SEPARATED=MOZ_PLUGIN_PATH
COLORFGBG='7;default'
COLORTERM=rxvt
CONFIG_PROTECT_MASK='/lib64/udev/rules.d /etc/dconf/db /etc/ca-certificates.conf'
CVS_RSH=ssh
DESKTOP_STARTUP_ID=awesome/urxvtc/2194-57-alipc-desktop-ex_TIME28147172
DISPLAY=:0.0
GDK_USE_XFT=1
GPG_AGENT_INFO=/tmp/gpg-CeLaPY/S.gpg-agent:2191:1
HOME=/home/ali
INFOPATH=/usr/share/info
JAVAC=/usr/bin/javac
JAVACMD=/usr/bin/java
JAVA_HOME=/usr/lib64/jdk
LANG=en_GB.utf8
LDPATH=/usr/local/lib:/usr/lib64/nss:/usr/lib64/vdpau:/usr/lib64/qt4
LESS='-R -M --shift 5'
LOGNAME=ali
MAIL=/var/mail/ali
MANPATH=/usr/local/share/man:/usr/share/man
MOZ_PLUGIN_PATH=/usr/lib64/mozilla/plugins:/opt/netscape/plugins
PAGER=/usr/bin/less
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib64/jdk/bin:/usr/lib64/jre/bin:/opt/bin:/usr/lib64/jdk/bin:/usr/lib64/jre/bin
PWD=/home/ali
SHELL=/bin/zsh
SHLVL=2
SSH_AGENT_PID=2193
SSH_AUTH_SOCK=/tmp/ssh-RhQcEipf2192/agent.2192
TERM=rxvt-256color
TERMINFO=/usr/share/terminfo
USER=ali
WINDOWID=20972128
XAUTHORITY=/home/ali/.Xauthority
_=export

Exportações em criança:

COLON_SEPARATED=MOZ_PLUGIN_PATH
COLORFGBG='7;default'
COLORTERM=rxvt
CONFIG_PROTECT_MASK='/lib64/udev/rules.d /etc/dconf/db /etc/ca-certificates.conf'
CVS_RSH=ssh
DESKTOP_STARTUP_ID=awesome/urxvtc/2194-57-alipc-desktop-ex_TIME28147172
DISPLAY=:0.0
GDK_USE_XFT=1
GPG_AGENT_INFO=/tmp/gpg-CeLaPY/S.gpg-agent:2191:1
HOME=/home/ali
INFOPATH=/usr/share/info
JAVAC=/usr/bin/javac
JAVACMD=/usr/bin/java
JAVA_HOME=/usr/lib64/jdk
LANG=en_GB.utf8
LDPATH=/usr/local/lib:/usr/lib64/nss:/usr/lib64/vdpau:/usr/lib64/qt4
LESS='-R -M --shift 5'
LOGNAME=ali
MAIL=/var/mail/ali
MANPATH=/usr/local/share/man:/usr/share/man
MOZ_PLUGIN_PATH=/usr/lib64/mozilla/plugins:/opt/netscape/plugins
OLDPWD=/home/ali
PAGER=/usr/bin/less
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib64/jdk/bin:/usr/lib64/jre/bin:/opt/bin:/usr/lib64/jdk/bin:/usr/lib64/jre/bin
PWD=/home/ali
SHELL=/bin/zsh
SHLVL=4
SSH_AGENT_PID=2193
SSH_AUTH_SOCK=/tmp/ssh-RhQcEipf2192/agent.2192
STY=27048.pts-2.alipc-desktop-ex
TERM=rxvt-256color
TERMINFO=/usr/share/terminfo
USER=ali
WINDOW=0
WINDOWID=27262984
XAUTHORITY=/home/ali/.Xauthority
_=export

Obrigado.

Editar: mais informações + combinações: .zshrc:

# The following lines were added by compinstall

zstyle ':completion:*' completer _expand _complete _ignored
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle :compinstall filename '/home/ali/.zshrc'

autoload -U zutil
autoload -Uz compinit
autoload -U complist
compinit
autoload -U colors
colors
# End of lines added by compinstall
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd extendedglob notify
unsetopt beep
bindkey -v
# End of lines configured by zsh-newuser-install

#export PS1="%n#%d>"

PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%d %{$reset_color%}%#"
RPROMPT="[%{$fg[yellow]%}%T%{$reset_color%}]"

locale -a:     C     en_GB.utf8     en_US.utf8     POSIX

exporta de 'urxvt -e zsh -f': - Um conjunto de trabalho!

COLORFGBG='7;default'
COLORTERM=rxvt
DESKTOP_STARTUP_ID=awesome/urxvt/2199-28-alipc-desktop-ex_TIME11280170
DISPLAY=:0.0
GPG_AGENT_INFO=/tmp/gpg-d5ZFvz/S.gpg-agent:2196:1
HOME=/home/ali
LOGNAME=ali
MAIL=/var/mail/ali
PATH=/bin:/usr/bin:/usr/local/bin
PWD=/home/ali
SHELL=/bin/zsh
SHLVL=2
SSH_AGENT_PID=2198
SSH_AUTH_SOCK=/tmp/ssh-sPZhKOhV2197/agent.2197
TERM=rxvt-unicode-256color
TERMINFO=/usr/share/terminfo
USER=ali
WINDOWID=23068680
XAUTHORITY=/home/ali/.Xauthority
_=export

Nota: Eu tentei configurar meu TERM via .Xdefaults, para o que funcionava na janela 'clean':

urxvt*termName:  rxvt-unicode-256color

Embora isso não tenha efeito, não é o TERM que afeta isso.

    
por Ali Lown 05.06.2011 / 21:37

2 respostas

0

Você tem a variável de ambiente STY definida no filho. Dada a sua presença e seu conteúdo, a criança está realmente correndo dentro da Tela. Seu ambiente não está correto (ou seja, está mentindo para aplicativos) de duas maneiras:

  • Você tem um terminal Unicode e está tentando exibir caracteres não ASCII. No entanto, seu ambiente não define LC_CTYPE . Se você deseja exibir caracteres não-ASCII, defina LC_CTYPE , geralmente como en_US.UTF-8 .
  • Você está usando Tela, o tipo de terminal ( $TERM ) é declarado como rxvt-256color .

Provavelmente, há algo errado em seu .zshrc referente a TERM . Para LC_CTYPE , se você sempre trabalha em uma localidade UTF-8, é mais fácil configurá-lo em .profile .

    
por 06.06.2011 / 01:57
0

Enfrentou um problema semelhante. Alterei a codificação da minha sessão putty para coincidir com a codificação usada no terminal. Assim, mudou a configuração putty - > tradução para UTF-8

locale LANG = en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL =

    
por 31.01.2013 / 07:57

Tags