Fonts
rxvt-unicode + mc - 僅在 root shell 中的奇怪字元
使用 rxvt-unicode-9.11 和 mc-4.7.5.2,並使用 zsh-4.3.11 作為我的登錄 shell,我發現我得到了奇怪的字元,例如 â 而不是正在繪製的線條。
然而有趣的是,從任何根 shell 啟動 urxvt,然後在其中執行 mc 會正確呈現這些行。
在 Xdefaults 中,我沒有設置字型。
我認為任何子 shell 都應該繼承與父 shell 相同的屬性,但顯然這裡不是。
父級中的導出:
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%}]"
locale -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。
STY
您在孩子中設置了環境變數。鑑於它的存在和它的內容,孩子實際上是在 Screen 內執行。您的環境不正確(即它對應用程序撒謊)有兩種方式:
- 您有一個 Unicode 終端,並且您正在嘗試顯示非 ASCII 字元。然而你的環境沒有定義
LC_CTYPE
. 如果要顯示非 ASCII 字元,則必須設置LC_CTYPE
,通常設置為en_US.UTF-8
.- 您正在使用 Screen,終端類型 (
$TERM
) 被聲明為rxvt-256color
.
.zshrc
你的關於可能有問題TERM
。因為LC_CTYPE
,如果您總是在 UTF-8 語言環境中工作,那麼將其設置在您的.profile
.