从 Emacs 的 .Xresources 和 .Xdefaults 加载 X 资源

从 Emacs 的 .Xresources 和 .Xdefaults 加载 X 资源

据我记得,Emacs 必须.Xresources在启动时加载该文件并从那里读取字体渲染设置。但我的只有在先运行xrdb merge然后启动 emacs时才会这样做。我想我这里配置有问题。

当我的 emacs 作为 systemd 服务启动时,我刚刚添加ExecStartPre=xrdb -merge ~/.Xresources到 emacs.service 中。它实际上解决了这个问题。但我仍然想知道为什么它不能正常工作?

另外,我的 .Xdefaults 是 .Xresources 的符号链接,我在 openSUSE 上使用 KDE。

答案1

它完全按照它应该的方式工作。~/.Xresources通常在您登录时加载。许多发行版都将其作为 X 会话启动脚本的一部分。如果您不使用完整的 destkop 环境,您可能需要将其添加到您的登录脚本中,在您的情况下这将是 systemd,就像您所做的那样。来自的资源~/.Xresources被加载到 X 服务器中并应用于该 X 服务器上显示的所有程序。

您可能会对 感到困惑.Xresources~/.Xdefaults它由每个 X 客户端应用程序在启动时加载,然后应用于该应用程序。远程使用X时,~/.Xresources文件位于X服务器端,而~/.Xdefaults文件位于客户端。

请注意,Emacs 仅~/.Xdefaults在服务器中未加载资源时才加载(更准确地说,如果XResourceManagerString返回NULL)。它还~/.Xdefaults-$HOSTNAME无条件加载。我不知道为什么。

相关内容