我使用我的~/.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
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的意图。