1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
#
# $Id: README,v 1.6 2000/04/15 16:56:52 reinelt Exp $
#
This is the README file for lcd4linux
INTRODUCTION
lcd4linux is a small program that reads various information from the kernel
(and probably from other subsystems, especially ISDN) and displays them on a LCD.
It supports displaying text values and different types of bars: Horizontal and
vertical bars, logarithmic bars, split bars (two independent bars in one row).
USAGE
lcd4linux -h
print version number and a small help text, then exit
lcd4linux -l
list available drivers
lcd4linux -d
calibrate delay loop (necessary for some drivers)
lcd4linux [-c key=val] [-f config-file] [-o output] [-q] [-v]
run lcd4linux
generate debugging messages with '-v'
use configuration from 'config-file' instead of /etc/lcd4linux.conf
write picture to 'output' (raster driver only)
overwrite entries from the config-file with '-c'
suppress startup splash screen with '-q'
SUPPORTED DISPLAYS
* Matrox Orbital: <http://www.matrixorbital.com>
"LCD0821": 2 lines by 8 characters
"LCD1621": 2 lines by 16 characters
"LCD2021": 2 lines by 20 characters
"LCD2041": 4 lines by 20 characters (tested)
"LCD4021": 2 lines by 40 characters
* X11
thanks to Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at> a driver for the
X Window System is available. It supports any size at any resolution. A very
small XLCD4Linux-Window can even swallow on the KDE Panel!
* Raster formats:
a generic raster driver (which is used by the X11-driver, too) is availiable,
PPM (portable pixmap) is the only output format at the moment. I'm working
on PNG!
* other displays: lcd4linux and especially the display driver code is very modular,
so it should be quite easy to write a driver for any display. See README.driver
for details. Contributors are welcome!!!
CONFIGURATION
The configuration file (default: /etc/lcd4linux.conf) has a very simple format:
Every line consists of a key and a value, seperated by whitespace (blanks or tabs).
Values can contain whitespace, and can be enclosed in single or double quotes.
A key must not contain whitespace. Keys are NOT case-sensitive. Order doesn't matter.
Empty lines and all text on a line after a '#' will be ignored. If you want to
use '#' in a value (think of X11-colors), you have to quote it with a backslash.
The configuration file contains information for different modules of lcd4linux:
Global options:
tick: time in milliseconds between bar updates
tack: time in milliseconds between text updates (text can be updated less often than
bars, so you get a smooth bar display and readable text)
tau: time constant (in milliseconds) for damping function (not used by now)
Data-specific options:
overload: load average threshold and bar scaling. The '%L' token (see below) displays
a '!' instead of a blank if the current load average exceeds this value.
load bars are scaled by this value (load=overload gives 100%)
fifo: path to fifo for communication with isdnlog (not implemented)
sensor1: path to the 1st temperature file (e.g. /proc/sys/dev/sensors/w83781d-isa-0290/temp1)
it is important that you use the isa sensors, because the i2c sensors are very slow!
sensor1_min: temperature where the corresponding bar starts
sensor1_max: temperature where bar ends
sensor[2..9], -_min, -_max: entries for the 2nd to 9th temperature sensor
Driver-specific options:
Display: the name of a display model (see "supported displays" above)
every driver has its own configuration options (e.g. 'Port', 'Speed', ...)
see README.<Drivername> for details!
Display options:
row1: Text to display in row 1
row[2-max]: Text to display in other rows
The text to be displayed can contain specific directives, which will be replaced
by the appropriate values, or will create bars:
'\nnn` will write the ASCII-character nnn (octal)
'%<token>' will be replaced by the value of <token>
'%%' will write a '%'
'%$' will write a '$'
'$<direction><length><token>[+<token>] will create a bar with the specified direction
and length (in characters) with the value of <token>. If the driver supports dual bars,
you can specify the second value with '+<token>'.
<direction> can be 'l' (left), 'r' (right), 'u' (up) or 'd' (down).
If you specify the direction in upper case, a logarithmic bar will be created.
note that the space occupied by a bar always grows from left to right or from top to
bottom, regardless of the direction!
Tokens:
'o', operating system name ('Linux')
'v', operating system release ('2.0.38')
'p', processor ('i686')
'r', total amount of memory installed (MB)
'mt', total memory from /proc/meminfo (kB)
'mu', used memory (kB)
'mf', free memory (kB)
'ms', shared memory (kB)
'mb', buffers (kB)
'mc', page cache (kB)
'ma', application memory (kB) = used - buffer - cache
'l1', load average for the past 1 minute
'l2', load average for the past 5 minutes
'l3', load average for the past 15 minutes
'L', '!' if load > overload (from config)
'cu', percentage of CPU in user mode
'cn', percentage of CPU in niced tasks
'cs', percentage of CPU in system mode
'cb', percentage of CPU busy (=100-idle)
'ci', percentage of CPU idle
'dr', disk blocks read
'dw', disk blocks written
'dt', disk blocks total (read+write)
'dm', disk blocks max (read, write)
'nr', network packets received
'nw', network packets transmitted
'nt', network packets total (receive+transmit)
'nm', network packets max (receive, transmit)
'ii', ISDN bytes received
'io', ISDN bytes sent
'it', ISDN bytes total (received+send)
'im', ISDN bytes max (received, send)
's1', T_SENSOR_1,
's2', T_SENSOR_2,
's3', T_SENSOR_3,
's4', T_SENSOR_4,
's5', T_SENSOR_5,
's6', T_SENSOR_6,
's7', T_SENSOR_7,
's8', T_SENSOR_8,
's9', T_SENSOR_9,
|