当我远程连接到 Linux PC 时,似乎xterm
无法读取我在 ~/.Xresources 文件中设置的颜色。
基本上,如果我坐在 PC 前并运行xterm
Xsession,颜色将遵循我的 ~/.Xresources 文件中的内容 - 没有问题。这是我的 ~/.Xresources 文件:
XTerm*background: black
Xterm*XtDefaultBackground: black
Xterm*XtDefaultForeground: white
XTerm*foreground: white
但是,如果我远程登录到同一台计算机并运行xterm
(尽管会在本地显示),颜色又是默认值(白色背景上的黑色字体)。
xterm
在这种情况下不读取 .Xresources 文件似乎是不合理的!我缺少什么?
答案1
资源存储在 X 服务器中 - 这是为了防止需要在多台计算机上分发配置文件。.Xresources
从来不打算被应用程序读取,它被加载到 X 服务器中xrdb
(尽管对于较旧的.Xdefaults
,AFAICT,情况稍微不清楚)。看维基百科文章进行解释。
也就是说,您的远程 XTerm 尝试从本地 X 服务器获取其资源,可能找不到它们并诉诸默认值(即白底黑字)。将所需的设置加载到xrdb -merge
Xserver 中或使用 XTerm 选项来实现所需的效果:xterm -bg black -fg grey
附带说明:如果您正在xterm
远程运行,则远程计算机上运行的终端多路复用器(例如tmux
或screen
)可能会为您提供更好的服务。