web-dev-qa-db-ja.com

rxvt-unicode + mc-ルートシェルのみの奇妙な文字

Rxvt-unicode-9.11とmc-4.7.5.2を使用し、ログインシェルとしてzsh-4.3.11を使用すると、線が引かれる代わりに、たとえばâなどの奇妙な文字が表示されることがわかりました。

ただし、興味深いことに、任意のルートシェルからurxvtを起動し、その中でmcを実行すると、行が正しくレンダリングされます。

Xdefaultsでは、フォントを設定していません。

子シェルは親シェルと同じものを継承する必要があると思いましたが、ここでは明らかにそうではありません。

親でのエクスポート:

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

子の輸出:

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

ありがとう。

編集:詳細情報+組み合わせ:.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%}]"

ロケール-a:C en_GB.utf8 en_US.utf8 POSIX

'urxvt -e zsh -f'からのエクスポート:-ワーキングセット!

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

注:.Xdefaultsを介してTERMを「クリーン」ウィンドウで機能するものに設定しようとしました。

urxvt*termName:  rxvt-unicode-256color

これは効果がなかったので、これに影響を与えるのはTERMではありません。

1
Ali Lown

子に環境変数STYが設定されています。その存在とその内容を考えると、子供は実際に画面内で実行されています。あなたの環境は2つの点で正しくありません(つまり、それはアプリケーションに嘘をついています):

  • Unicode端末があり、非ASCII文字を表示しようとしています。しかし、あなたの環境はLC_CTYPEを定義していません。非ASCII文字を表示する場合は、LC_CTYPEを、通常はen_US.UTF-8のように設定する必要があります。
  • Screenを使用している場合、端末タイプ($TERM)はrxvt-256colorであると宣言されています。

TERMに関して.zshrcに何か問題がある可能性があります。 LC_CTYPEの場合、常にUTF-8ロケールで作業する場合は、.profileで設定するのが最も簡単です。

同様の問題に直面しました。ターミナルで使用されているエンコーディングと一致するように、PuTTYセッションのエンコーディングを変更しました。したがって、PuTTY構成を変更しました-> UTF-8への変換

ロケール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 =

0
shibin