据我所知,Emacs必须在启动时加载.Xresources文件,并从那里读取字体呈现设置。但是,只有先运行xrdb merge,然后启动emacs,我才能做到这一点。我想我这里有东西配置不当。
当我的emacs作为系统d服务开始时,我刚刚在emacs.service中添加了ExecStartPre=xrdb -merge ~/.Xresources。它实际上解决了这个问题。但我还是想知道它为什么不能正常工作?
而且,我的.Xdefaults是指向.Xresources的符号链接,我在openSUSE上使用KDE。
发布于 2015-07-23 23:16:18
它的运作方式恰如其分。~/.Xresources通常是在登录时加载的。许多发行版将此作为X会话启动脚本的一部分。如果您不使用完整的destkop环境,您可能需要将其添加到登录脚本中,这在您的情况下是系统的,就像您所做的那样。来自~/.Xresources的资源被加载到X服务器中,并应用于在该X服务器上显示的所有程序。
您可能混淆了.Xresources和~/.Xdefaults,每个X客户机应用程序启动时都会加载它,然后应用于这个应用程序。远程使用X时,~/.Xresources文件位于X服务器端,而~/.Xdefaults文件位于客户端。
注意,Emacs只在服务器中没有加载资源时才加载~/.Xdefaults (更准确地说,如果XResourceManagerString返回NULL)。它还无条件地加载~/.Xdefaults-$HOSTNAME。我也不知道原因。
https://unix.stackexchange.com/questions/217920
复制相似问题