我在 Arch Linux 上使用 rxvt-unicode。
echo $TERM
显示“rxvt”。如果我设置了export TERM=rxvt-unicode-256color
,那么颜色就可以正常工作。但是,我认为这不是一个好方法。
但是当我尝试在 中设置urxvt*termName: rxvt-unicode-256color
(或一些变体,例如xterm*termName
或xterm-256color
)~/.Xresources
,然后运行时xrdb ~/.Xresources
,它没有任何效果,$TERM
仍然是“rxvt”。
但是,如果我更改另一个属性Xresources
(例如字体大小),那么它会对我打开的下一个终端生效。
这怎么可能?我是不是漏掉了什么?
答案1
X 应用程序仅在首次启动时读取资源设置。更改资源设置不会影响当前正在运行的应用程序。
X 资源的一个怪癖是,例如,如果您的系统已经有一个与图案 urxvt*termName
,那么你将无法替换它图案。你可以做得更多明确的,并覆盖它,例如,urxvt.termName
.
答案2
检查您的 shell 启动脚本,$HOME
当然还有发行版经常添加的全局脚本。也许其中之一会设置TERM
并覆盖您的设置。如果您使用 tmux/screen,还要检查它们。他们TERM
也可能会改变。