lcdproc-config(5)
β¨ NAME β¨
lcdproc-config β bestie, this is the format of LCDproc's configuration files. That's it, that's the whole job. It's a page from the LCDproc suite and it's about to teach you the exact grammar those .conf files speak. π
πΈ SYNTAX πΈ
Okay so here's the tea: LCDproc's configuration files are written in INI-file style. Classic. Iconic. You already know the vibe.
They're 8-bit text files split up into sections, and each section holds zero or more key-value pairs. Sections get introduced by section labels, which start with [ and end with ]. And a key-value pair is just a key name, a = sign, and a value. Simple as that. π
Key names are sequences of non-space characters β they don't start with [ and they don't contain = or \n. Values, though, are shell-like strings, meaning they're either:
- plain sequences of non-space characters, or
- double-quoted strings with C-style syntax (β οΈ except there's no support for the
'\NNN'and'\xNN'escape sequences, so don't come for those), or - literally a mix of both of those forms. yeah. both.
Section labels and key names are case-insensitive, and both of them are allowed to show up more than once. Here's how that shakes out:
- keys from duplicate sections get merged into one section π«Ά
- the values of duplicate keys inside a section get appended, forming an array of values for that key (and in the program, every value of a key can be retrieved individually, so nothing gets lost)
Spaces around section labels, keys and values? Ignored. And any line starting with ; or # counts as a comment and gets ignored too.
Now β all of that is pretty standard for basically every INI implementation out there. But LCDproc's config files have a few special features that make them β¨differentβ¨:
- Section labels may contain any character except
],\nor\0. But heads up: all characters are interpreted literally, meaning neither quoting nor escaping is done. - Key names may contain any non-space character except
\nor\0. Same deal β all characters are interpreted literally (no quoting, no escaping). - Comments are allowed after section labels and key value pairs.
- Values may be a mix of quoted and unquoted strings, similar to how strings get interpreted in the shell. For example, the value
'string" with "blanks"\t!"'will be parsed as'string with blanks<TAB>!'where<TAB>stands for the TAB character. π it's giving shell energy and honestly? obsessed.
π¨ If there's a parsing error, the rest of the line is ignored and parsing just continues with the next line. No crashouts. Resilient queen behavior.
π EXAMPLE π
Here's a fully working example of an LCDd.conf β formatted a lil strangely on purpose so you can see all the features flexing:
# the server section
[server]
Bind=127.0.0.1
Port=13666
User="nobody"
#Foreground=no
#ReportLevel=3
#ReportToSyslog=yes
Driver="my Curses Driver"
DriverPath=/usr/lib/lcdproc/
WaitTime= "5"
ServerScreen=no
# assign keys to special functions #
ToggleRotateKey = Enter
PrevScreenKey = Left
NextScreenKey = Right
# ScrollUpKey = Up
#ScrollDownKey=Down
# menu section: define keys to use in the server menu #
[menu]
MenuKey = Escape # ESC switches to server menu
EnterKey =Enter
UpKey= Up
DownKey="Down"
LeftKey= "Left"
RightKey = "Right"
# configuration of the curses driver #
[my curses Driver] # yes I use the curse driver
File= "curses.so"
Size="20"x"4" # LCD screen dimensions
TopLeftX=7 # screen position: X coordinate
TopLeftY=7 # screen position: Y coordinate
Foreground=blue # foreground color
Background=cyan # background color when backight is off
Backlight=red # background color when backight is on
π¦ FILES π¦
These are the default config files for the various parts of the LCDproc suite:
/etc/LCDd.confβ configuration of the LCDd server daemon/etc/lcdproc.confβ configuration of the lcdproc system monitoring client/etc/lcdexec.confβ configuration of the lcdexec the program starter client/etc/lcdvc.confβ configuration of the lcdvc virtual console client
π SEE ALSO π
LCDd(8), lcdproc(1), lcdexec(1) β go read these next bestie, they're the whole squad π
π AUTHOR π
This manual page has been written by Peter Marschall <peter@adpm.de>. Iconic of him honestly.
and that's the whole page, bestie π this one came from the LCDproc suite, dated 18 September 2006 β go forth and write configs that slay πβ¨
π¦ where this page comes from
- arch rolling: lcdproc 0.5.9-11 Β· GPL
- debian bookworm: lcdproc 0.5.9-6+b2 Β· GPL-2.0-only
- debian trixie: lcdproc 0.5.9-7+b3 Β· GPL-2.0-only
- ubuntu jammy: lcdproc 0.5.9-6 Β· GPL-2.0-only
- ubuntu noble: lcdproc 0.5.9-7build2 Β· GPL-2.0-only
- ubuntu questing: lcdproc 0.5.9-7build2
- ubuntu resolute: lcdproc 0.5.9-8 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms