lcdproc-config - Man Page
format of LCDproc's configuration files
Syntax
The syntax for LCDproc's configuration files is INI-file style.
They are 8-bit text files divided into sections, each containing zero or more key-value pairs. Sections are introduced by section labels which start with '[' and end with ']', and key-value pairs consist of a key name, a '=' sign and a value each.
Key names are sequences of non-space characters, not starting with '[' and not containing '=' or '\n', while values are shell like strings. I.e. they are either simple sequences of non-space characters, or double quoted-strings with C-style syntax (except the missing support for '\NNN' and '\xNN' escape sequences) or or a mix of both of these forms.
Section labels and key names are case-insensitive and may occur more than once. Keys of duplicate sections will be merged into one section, while the values of duplicate keys in a section will be appended to form an array of values for this key. (In the program, all values of a key can be retrieved individually)
Spaces around section labels, keys, and values are ignored. Lines starting with ';' or '#' are considered comments and ignored too.
While all of the above is quite common to almost all INI-file implementations, there are a few special features that make LCDproc's config files special:
- Section labels may contain any character except ']', '\n' or '\0'. However, all characters are interpreted literally (i.e. neither quoting, nor escaping done).
- Key names may contain any non-space character except '\n' or '\0'. However, all characters are interpreted literally (i.e. neither quoting, nor escaping done).
- Comments are allowed after section labels and key value pairs
- Values may be a mix of quoted and unquoted strings similar as strings are interpreted in the shell. E.g. the value 'string" with "blanks"\t!"' will be parsed as 'string with blanks<TAB>!' where <TAB> stands for the TAB character.
In case of a a parsing error the rest of the line is ignored and parsing continues with the next line.
General Configuration
The section '[lcdproc]' defines the options to connect to the LCDd server : hostname, port, log level...
- Server=
address of the LCDd server to connect to
- Port=
Port of the server to connect to
- ReportLevel=
set reporting level
ReportToSyslog=
[default: false; legal: true, false]
- Foreground=
run in foreground [default: false; legal: true, false]
- PidFile=
PidFile location when running as daemon [default: /var/run/lcdproc.pid]
- delay=
slow down initial announcement of modes (in 1/100s) [default: 2]
- DisplayName=
display name for the main menu [default: LCDproc HOST]
Screen Specific Configuration
the following section of the /etc/lcdproc/lcdproc.conf contains screen specific configuration options. Each section refers to a screen which can be enabled and configured.
[Cpu] Section Options
Displays CPU usage.
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## CPU 51.9%: myh #@| |CPU [---- ]48.1%@| |Usr 46.0% Nice 0.0%| |U-- S- N I--- | |Sys 5.9% Idle 48.1%| +--------------------+ |0%-------- 100%| +--------------------+ Active= Show the screen [default: false; legal: true, false] OnTime= [integer; 1] OffTime= [integer; 2] ShowInvisible= [default: false; legal: true, false]
[Iface] SECTION OPTIONS
Displays stats about network interfaces.
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## Net Load: LAN ##@| |### Net Load ######@| |UL: 123.456 Kb| |LAN: U: 34kb D: 56Mb| |DL: 654.321 Kb| +--------------------+ |Total: 777.777 Kb| +--------------------+ Active= Show the screen [default: false; legal: true, false] Interface0= defines the interface name : eth0 Alias0= Interface alias name to display [default: <interface name>] Note: Interface0 and Alias0 can be repeated to display more interfaces, the last digit in the option must be incremented. For more than 3 interfaces change MAX_INTERFACES in iface.h and rebuild. unit= Units to display [default: byte; legal: byte, bit, packet] transfer= add screen with transferred traffic [default: false; legal: true, false]
[Memory] SECTION OPTIONS
Displays stats about memory.
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## MEM #### SWAP #@| |M 758.3M [- ] 35.3%@| | 758.3M Totl 1.884G | |S 1.884G [ ] 0.1% | | 490.8M Free 1.882G | +--------------------+ |E--- F E F| +--------------------+ Active= Show the screen [default: false; legal: true, false]
[Load] SECTION OPTIONS
Shows a display very similar to "xload"'s histogram
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## LOAD 0.44: myh #@| |myhost 0.24 1| | 1| | |||||||||||0| | |||||| | +--------------------+ | |||| |||||||| 0| +--------------------+ Active= Show the screen [default: false; legal: true, false] LowLoad= Min Load Avg at which the backlight will be turned off [default: 0.05] HighLoad= Max Load Avg at which the backlight will start blinking [default: 1.3]
[TimeDate] SECTION OPTIONS
Displays current time and date, uptime, OS ver
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## Linux 2.6.11 ###@| |### TIME: myhost ##@| |Up xxx days hh:mm:ss| |17.05.2005 11:32:57a| | Wed May 17, 1998 | +--------------------+ |11:32:57a 100% idle| +--------------------+ Active= Show the screen [default: false; legal: true, false] TimeFormat= Time format [default: "%H:%M:%S"; legal: see strftime(3)] DateFormat= Date format [default: "%x"; legal: see strftime(3)]
[About] SECTION OPTIONS
Shows who wrote this software
- Active=
Show the screen [default: false; legal: true, false]
[Smp-Cpu] Section Options
Shows a current usage percentage graph for each CPU.
- Active=
Show the screen [default: false; legal: true, false]
[OldTime] SECTION OPTIONS
Displays current time and date
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## DATE & TIME ####@| |### TIME: myhost ##@| | myhost | |2005-05-17 11:32:57a| |11:32:75a Wednesday,| +--------------------+ | May 17, 2005 | +--------------------+ Active= Show the screen [default: false; legal: true, false] TimeFormat= time format [default: "%H:%M:%S"; legal: see strftime(3)] DateFormat= date format [default: "%x"; legal: see strftime(3)] ShowTitle= Display the title bar in two-line mode. Note that with four lines or more the title is always shown. [default: true; legal: true, false] Screen example : +----------------+ | 2012-12-27 @| | 15:07:01 | +----------------+
[BigClock] SECTION OPTIONS
Displays current time with big number
Screen example (depending on screen size):
+--------------------+ | _ _ _ _ | | ||_ . _||_|. _| || | ||_|. _| |.|_ || | | +--------------------+ Active= Show the screen [default: false; legal: true, false] showSecs= display seconds [default: true; legal: true, false] true : the date is displayed in format HH:MM:SS (default) false : the date is displayed in format HH:MM Screen example : +--------------------+ | _ _ | | ||_ . _||_| | | ||_|. _| | | | | +--------------------+
[Uptime] SECTION OPTIONS
Shows info about system uptime and OS version
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## SYSTEM UPTIME ##@| |# Linux 2.6.11: my#@| | myhost | | xxx days hh:mm:ss | | xxx days hh:mm:ss | +--------------------+ | Linux 2.6.11 | +--------------------+ Active= Show the screen [default: false; legal: true, false]
[Battery] SECTION OPTIONS
Shows apm battery status
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## AC: 100%: myho #@| |## AC: 100%: myho #@| |AC: On | |AC, Batt: Absent | |Batt: Absent | +--------------------+ |E------------------F| +--------------------+ Active= Show the screen [default: false; legal: true, false]
[CPUGraph] SECTION OPTIONS
Shows a quick-moving histogram of CPU use
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## CPU: myhost ####@| |CPU: myhos|| @| | || | | |||| | | ||| | +--------------------+ | |||| | +--------------------+ Active= Show the screen [default: false; legal: true, false]
[ProcSize] SECTION OPTIONS
Displays info about top 5 memory hogs
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## TOP MEM: myhos #@| |## TOP MEM: myhos #@| |1 110.4M mysqld | |1 110.4M mysqld | |2 35.38M konqueror(2| +--------------------+ |3 29.21M XFree86 | +--------------------+ Active= Show the screen [default: false; legal: true, false]
[Disk] SECTION OPTIONS
Displays disks stats
Screen example (depending on screen size):
+--------------------+ +--------------------+ |## DISKS: myhost ##@| |## DISKS: myhost ##@| |/ 18.3G E-- F| |-local 18.3G E--- F| |-local 18.3G E--- F| +--------------------+ |/boot 949.6M E- F| +--------------------+ Active= Show the screen [default: false; legal: true, false]
[MiniClock] SECTION OPTIONS
Displays the current time
Screen example (depending on screen size):
+--------------------+ +--------------------+ | | | 11:32 | | 11:32 | | | | | +--------------------+ | | +--------------------+ Active= Show the screen [default: false; legal: true, false] TimeFormat= Time format [default: "%H:%M"; legal: see strftime(3)]
Example
Here is fully working example of an lcdproc.conf (formatted somewhat strange to show the features):
# LCDproc client configuration file ## general options ## [lcdproc] # address of the LCDd server to connect to Server=localhost # Port of the server to connect to Port=13666 # set reporting level ReportLevel=2 # report to to syslog ? ReportToSyslog=false # run in foreground [default: false; legal: true, false] # Foreground=true # PidFile location when running as daemon [default: /var/run/lcdproc.pid] #PidFile=/var/run/lcdproc.pid # slow down initial announcement of modes (in 1/100s) #delay=2 # display name for the main menu [default: LCDproc HOST] #DisplayName=lcdproc ## screen specific configuration options ## [CPU] # Show screen Active=True OnTime=1 OffTime=2 ShowInvisible=false [Iface] # Show screen Active=True # Show stats for Interface0 Interface0=eth0 # Interface alias name to display [default: <interface name>] Alias0=LAN # Show stats for Interface1 #Interface1=eth1 #Alias1=WAN # Show stats for Interface2 #Interface2=eth2 #Alias2=MGMT # for more than 3 interfaces change MAX_INTERFACES in iface.h and rebuild # Units to display [default: byte; legal: byte, bit, packet] unit=bit # add screen with transferred traffic #transfer=TRUE [Memory] # Show screen Active=True [Load] # Show screen Active=True # Min Load Avg at which the backlight will be turned off [default: 0.05] LowLoad=0.05 # Max Load Avg at which the backlight will start blinking [default: 1.3] HighLoad=1.3 [TimeDate] # Show screen Active=True # time format [default: %H:%M:%S; legal: see strftime(3)] TimeFormat="%H:%M:%S" # date format [default: %x; legal: see strftime(3)] DateFormat="%x" [About] # Show screen Active=false [SMP-CPU] # Show screen Active=false [OldTime] # Show screen Active=false # time format [default: %H:%M:%S; legal: see strftime(3)] TimeFormat="%H:%M:%S" # date format [default: %x; legal: see strftime(3)] DateFormat="%x" # Display the title bar in two-line mode. Note that with four lines or more # the title is always shown. [default: true; legal: true, false] #ShowTitle=false [BigClock] # Show screen Active=false # display seconds # true : the date is displayed in format HH:MM:SS (default) # false : the date is displayed in format HH:MM # [default: true; legal: true, false] #showSecs=true [Uptime] # Show screen Active=false [Battery] # Show screen Active=false [CPUGraph] # Show screen Active=false [ProcSize] # Show screen Active=false [Disk] # Show screen Active=false [MiniClock] # Show screen Active=True # time format [default: %H:%M; legal: see strftime(3)] TimeFormat="%H:%M" # EOF
Files
These are the default config files for the various parts of the LCDproc suite:
- /etc/lcdproc/LCDd.conf
configuration of the LCDd server daemon
- /etc/lcdproc/lcdproc.conf
configuration of the lcdproc system monitoring client
- /etc/lcdproc/lcdexec.conf
configuration of the lcdexec the program starter client
- /etc/lcdproc/lcdvc.conf
configuration of the lcdvc virtual console client
See Also
Author
This manual page has been written by Peter Marschall <peter@adpm.de>