编辑:我发现,这似乎是 Ubuntu 中的一个错误:https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1163129- 我知道如何自己解决这个问题吗?
我只想切换到 urxvt,但我遇到了一个奇怪的问题.Xresources
。当我登录并启动 urxvt 时,一切都是粉红色的,我收到这些错误消息
urxvt: unable to parse color 'S_base0', using pink instead.
urxvt: unable to parse color 'S_base03', using pink instead.
...(repeated for all colors I defined)...
urxvt: unable to parse color 'S_base03', using pink instead.
但是,一旦我运行xrdb ~/.Xresources
,所有新打开的 urxvt 都很好,并且阳光照射得很漂亮。什么?
我的 .Xresources:https://gist.github.com/iGEL/6880992- 我正在使用 Ubuntu 13.04(64 位),但安装了 Ubuntu 13.10 的软件包rxvt-unicode-256color
以获取 urxvt 的当前版本(9.18)。
编辑:请注意,颜色是在它们使用的同一文件中定义的。也许 urxvt(或正在读取的任何东西.Xresources
)无法在同一次运行中解析和使用变量?但这看起来像是一个奇怪的想法。
答案1
好的,我明白了:您必须删除-noccp
第 42 行中的选项/usr/sbin/lightdm-session
,这会阻止xrdb
使用我需要的预处理器。
答案2
如果您登录时~/.Xresources
没有处理cpp
,您可能需要将原始源保存为另一个名称,并~/.Xresources
在每次进行更改时重建。
我刚刚编写了一个工具来自动化这个过程:https://github.com/dolmen/Xresources.edit/
答案3
您的信息~/.Xresources
无法自动读入。
我认为在 Ubuntu 中(至少在 Debian 中是这样的)在 X 会话启动期间读入的资源文件是.Xdefaults
。
为了不破坏(可能)依赖于的任何东西~/.Xresources
,只需创建一个符号链接:
ln -s .Xresources ~/.Xdefaults
启动一个新的 X 会话,粉红色中的粉红色应该消失。
答案4
另一种选择,干扰性较小,而不是修改,/usr/sbin/lightdm-session
而是改变X 会话包装器。这是我的/etc/lightdm/lightdm.conf
Ubuntu 12.04:
[SeatDefaults]
greeter-session=unity-greeter
allow-guest=false
greeter-hide-users=true
session-wrapper=/etc/X11/Xsession
请注意最后一行,它使用原始 Debian 包装器执行 X11 会话/etc/X11/Xsession
。这是一个非常相似的脚本,/usr/sbin/lightdm-session
但允许/etc/X11/Xsession.d/30x11-common_xresources
文件执行其操作。