xrdb 冒号缺失错误

xrdb 冒号缺失错误

我使用我的~/.Xresources文件进行配置URxvt,并在向文件添加注释后,似乎导致xrdb停止接受该文件。

我现在明白了:

xrdb: colon missing on line 3, ignoring line
xrdb: colon missing on line 5, ignoring line
xrdb: colon missing on line 7, ignoring line
xrdb: colon missing on line 9, ignoring line
xrdb: colon missing on line 11, ignoring line
xrdb: colon missing on line 13, ignoring line
xrdb: colon missing on line 14, ignoring line
xrdb: colon missing on line 16, ignoring line
xrdb: colon missing on line 18, ignoring line
xrdb: colon missing on line 20, ignoring line
xrdb: colon missing on line 22, ignoring line
xrdb: colon missing on line 24, ignoring line
xrdb: colon missing on line 26, ignoring line

奇怪的是,这些并不都是注释行。其中一些是,一些是空白,一些是实际的配置行。同样奇怪的是,它似乎在某个点之后就被切断了,该文件有 42 行。

我的~/.Xresources文件是

! === URvxt Configuration Section ===:

    ! Turn off the scrollbar.
    URxvt*scrollBar:            true

    ! Set an external border of 4 pixels.
    URxvt*externalBorder:   4

    ! Make the pointer blink.
    URxvt*pointerBlink:     true

    ! Save as many lines as zsh.
    URxvt*saveLines:            100000

    ! Set font to Terminus
    URxvt*font:             xft:Terminus:size=10

    ! === URxvt Colorscheme Section ===

        ! Set the foreground (text) to pure white.
        URxvt.foreground:       #FFFFFF

        ! Set the background to a grey-black.
        URxvt.background:       #151515

        ! Color 0 - Primary Background
        URxvt.color0:           #151515

        ! Color 1 - Primary Foreground
        URxvt.color1:           #FFFFFF

        ! Color 2 - Secondary Background
        URxvt.color2:           #1F1F1F

        ! Color 3 - Secondary Foreground
        URvxt.color3:           #787878

    ! === END URxvt Colorscheme Section

! === END URvxt Configuration Section ===

有谁知道为什么我会收到这些错误?

答案1

看起来xrdb期望评论总是以“!”开头在第一列中。

文档对此并不完全清楚:“如果一行以!(感叹号)开头,则将其视为注释,并且该行的其余部分将被忽略”

答案2

老帖子,但对于那些经历过同样事情的人来说,答案如下:

您的 Xresources 文件中的注释分隔符 ( '!' ) 前面有空格。这是一个很大的禁忌,也是造成你问题的原因。这也会发生在直接与 XServer 交互的 Xinit、Xdefaults 等文件中。 X-Files 不喜欢注释分隔符@行的开头(或结尾)前面的空格。如果您将代码复制并粘贴到文件中,则需要进行一些清理工作。 ;-) 空白 --> 不好。

答案3

请参阅“X”手册页,例如,关于资源:

ResourceLine    =    Comment | IncludeFile | ResourceSpec | <empty line>
Comment         =    "!" {<any character except null or newline>}
IncludeFile     =    "#" WhiteSpace "include" WhiteSpace FileName WhiteSpace
FileName        =    <valid filename for operating system>
ResourceSpec    =    WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value
ResourceName    =    [Binding] {Component Binding} ComponentName
Binding         =    "." | "*"
WhiteSpace      =    {<space> | <horizontal tab>}
Component       =    "?" | ComponentName
ComponentName   =    NameChar {NameChar}
NameChar        =    "a"-"z" | "A"-"Z" | "0"-"9" | "_" | "-"
Value           =    {<any character except null or unescaped newline>}

语法为Comment“!”之前不包含任何空格。由于它不匹配,所以下一个最好的是ResourceSpec,这不是OP的意图。

相关内容