以用户身份登录时失去unicode支持urxvt,root shell拥有它们


3

我正在进行最小的debian测试安装。我已经成立了rxvt-unicodeherbstluftwmSLiM

使用我的用户名,在SLiM登录后,urxvt我启动的所有终端实例都缺乏Unicode支持。

如果我这样做sudo urxvt,则新的urxvt实例在终端(以root用户身份)中显示unicode字符。

这是虚拟机中的新安装。在设置SLiM之前,我以用户身份获得了unicode支持。之后的某个时候,我不再看到这些角色。

这个问题似乎与这个问题非常相似,但是我看不到可以采取的任何类似措施。


相关配置:

default_path        /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
default_xserver     /usr/bin/X11/X
xserver_arguments   -nolisten tcp    
halt_cmd            /sbin/shutdown -h now
reboot_cmd          /sbin/shutdown -r now
console_cmd         /usr/bin/xterm-C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue.net; exec /bin/login"    
xauth_path         /usr/bin/X11/xauth    
authfile           /var/run/slim.auth
numlock             on    
# hidecursor          false       
login_cmd           exec /bin/bash -login ~/.xinitrc %session
# login_cmd           exec /bin/bash -login /etc/X11/Xsession %session       
# sessionstart_cmd  some command
# sessionstop_cmd   some command        
# daemon    yes       
sessiondir            /usr/share/xsessions/    
screenshot_cmd      scrot ~/img/slim.png        
welcome_msg         Welcome to %host        
# session_msg         Session:         
shutdown_msg       The system is halting...
reboot_msg         The system is rebooting...        
default_user       seldon         
focus_password      yes        
auto_login          yes    
current_theme       debian-joy    
lockfile            /var/run/slim.lock
logfile             /var/log/slim.log

用户环境

SHELL=/bin/bash
TERM=rxvt-unicode-256color
XDG_SESSION_COOKIE=f71ffba1619e7393bb13421e5323c9ee-1394949532.816048-1558277790
WINDOWID=23068679
USER=seldon
MAIL=/var/mail/seldon
PATH=/home/seldon/bin:/usr/local/bin:/usr/bin:
      /bin:/usr/local/games:/usr/games:/home/seldon/bin
PWD=/home/seldon
LANG=en_US.utf8
COLORFGBG=default;default
SHLVL=1
HOME=/home/seldon
LS_OPTIONS=--color=auto --group-directories-first
LOGNAME=seldon
DISPLAY=:0.0
COLORTERM=urxvt
XAUTHORITY=/home/seldon/.Xauthority
_=/usr/bin/env

根环境

SHELL=/bin/bash
TERM=rxvt-unicode-256color
WINDOWID=20971527
USER=root
SUDO_USER=seldon
SUDO_UID=1000
USERNAME=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
PWD=/home/seldon
LANG=en_US.utf8
SHLVL=1
COLORFGBG=default;default
SUDO_COMMAND=/usr/bin/rxvt
HOME=/root
LS_OPTIONS=--color=auto --group-directories-first
LOGNAME=root
SUDO_GID=1000
DISPLAY=:0.0
COLORTERM=urxvt
XAUTHORITY=/home/seldon/.Xauthority
_=/usr/bin/env

Xresources

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Terminal Colors
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! ... removed for brevity ...



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! URxvt Config 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! buffer
URxvt*saveLines: 12000

! fonts
URxvt*font: xft:DejaVu Sans Mono:pixelsize=12:antialias=true:hinting=true
URxvt*boldFont: xft:DejaVu Sans Mono:bold:pixelsize=12:antialias=true:hinting=true

! URxvt*font: xft:Bitstream Vera Sans Mono:pixelsize=12:antialias=true:hinting=true
! URxvt*boldFont: xft:Bitstream Vera Sans Mono:bold:pixelsize=12:antialias=true:hinting=true


! transparency
! URxvt*transparent: true
! URxvt*shading: 25

URxvt*depth: 32
URxvt.background: [75]#000000

! scrollbars
!    active - true (default) or false
URxvt*scrollBar: false

!    position - left=false (default) or right=true
URxvt*scrollBar_right: false

!    style - rxvt (default), plain, next, or xterm
URxvt*scrollstyle: rxvt

! borders
URxvt*borderless: true

xinitrc

#!/bin/bash

xrandr -s 8    
hsetroot -fill /home/seldon/img/olCTXdz.jpg &    

function wm() {    
    xrdb -load ~/.Xresources &    
    compton -cb -o0    
    exec $1 -c /home/seldon/.config/herbstluftwm/autostart    
}

[[ -z $1 ]] && wm herbstluftwm

wm $1

你是什​​么发行版?显示管理员?
PersianGulf 2014年

我正在进行最小的Debian测试安装(发行版)。我已经设置了rxvt-unicode(终端),herbstluftwm(窗口管理器)和SLiM(登录管理员
Hari Seldon 2014年

经过研究后,我认为问题与此处描述的终端行为有关。不幸的是,定义的主要方法locale.conf似乎不适用于debian,因此我现在正在回顾等效的debian docs。仍然令我感到困惑的是,我已经LANG在用户的机器中进行了设置.bashrc(请参见上文),并且urxvt似乎仍然缺少unicode支持。
哈里·塞尔登2014年

Answers:


1

好吧…… 阅读TFM之后,我至少找到了Debian的答案。根据有关语言环境debian文档,默认的系统范围语言环境设置为/etc/profile。添加一行后,export LANG="en_US.utf8"所有工作均应正常进行。

文档表明,将此值设置/etc/default/locale为足够,但它也提到/etc/profile了另一种方法。

对于其他有类似问题的人:

  • 我在这篇拱形论坛文章中碰到过,提到了为登录终端会话和X会话设置语言环境之间的区别。
  • 如果urxvt运行时未设置基于unicode的语言环境,则默认为不支持unicode。我发现在这里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.