1LCDd(8) LCDproc suite LCDd(8)
2
3
4
6 LCDd - LCDproc server daemon
7
8
10 LCDd [-hf] [-c config] [-d driver] [-i bool] [-a addr] [-p port] [-u
11 user] [-w time] [-r level] [-s bool]
12
13
15 LCDd is the server part of LCDproc, a deamon which listens to a certain
16 port (normally 13666) and displays information on an LCD display. It
17 works with several types and sizes of displays.
18
19 Most settings of LCDd are configured through its configuration file
20 /etc/sysconfig/lcdproc/LCDd.conf, some of them can be overriden using
21 command line options. Before running LCDd you should carefully read
22 through that file and modify everything neccessary according to your
23 needs. Otherwise you might encounter LCDd not running properly on your
24 system.
25
26 To make full use of LCDd, a client such as lcdproc(1), lcdexec(1), or
27 lcdvc is required.
28
29
31 Available options are:
32
33 -h Display help screen
34
35 -c config
36 Use a configuration file other than /etc/sysconfig/lcd‐
37 proc/LCDd.conf
38
39 -d driver
40 Specify a driver to use (output only to first), overriding the
41 Driver parameter in the config file's [Server] section.
42
43 -f Run in the foreground, overriding the Foreground parameter in
44 the config file's [Server] section. The default, if not speci‐
45 fied in the config file, is to daemonize LCDd as it is intended
46 to operate in the background.
47
48 -i bool
49 Tell whether the to enable (1) or disable (0) showing the LCD‐
50 proc server screen in n the screen rotation, overriding Server‐
51 Screen in the config file's [Server] section.
52
53 -w waittime
54 Time to pause at each screen (in seconds), overriding the Wait‐
55 Time parameter in the config file's [Server] section.
56
57 -a addr
58 Bind to network address addr, overriding the Bind parameter in
59 the config file's [Server] section.
60
61 -p port
62 Listen on port port for incoming connections, overriding the
63 Port parameter in the config file's [Server] section.
64
65 -u user
66 Run as user user, overriding the User parameter in the config
67 file's [Server] section.
68
69 -s bool
70 Output messages to syslog (1) or to stdout (0), overriding the
71 ReportToSyslog parameter in the config file's [Server] section.
72
73 -r level
74 Set reporting level to level, overriding th ReportLevel parame‐
75 ter in the config file's [Server] section.
76
77
78 SUPPORTED DRIVERS
79 Currently supported display drivers include:
80
81 bayrad BayRAD LCD modules by EMAC Inc.
82
83 CFontz CrystalFontz CFA-632 and CFA-634 serial LCD displays
84
85 CFontz633
86 CrystalFontz CFA-633 serial/USB LCD displays
87
88 CFontzPacket
89 CrystalFontz CFA-631, CFA-633 and CFA-635 serial/USB LCD dis‐
90 plays
91
92 curses Standard video display using the (n)curses library
93
94 CwLnx serial/USB displays by Cwlinux (http://www.cwlinux.com)
95
96 ea65 VFD front panel display on Aopen XC Cube EA65 media barebone
97
98 EyeboxOne
99 LCD display on the EyeboxOne (http://www.rightvision.com)
100
101 g15 LCD display on the Logitech G15 keyboard
102
103 glcdlib
104 graphical LCDs supported by graphlcd-base
105
106 glk Matrix Orbital GLK Graphic Displays
107
108 hd44780
109 Hitachi HD44780 LCD displays. This driver supports the follow‐
110 ing sub-drivers (a.k.a. connection types):
111
112 4bit LCD 4bit-mode, connected to a PC parallel port
113
114 8bit LCD 8bit-mode, connected to a PC parallel port
115
116 serialLpt
117 LCD in 4bit-mode through a 4094 shift register
118
119 winamp LCD in 8bit-mode using WinAmp-wiring, connected to a PC
120 parallel port
121
122 picanlcd
123 LCD driven by a PIC-an-LCD chip/board by Dale Wheat, con‐
124 nected to a serial port
125
126 lcdserializer
127 LCD driven by a PIC16C54-based piggy-back board, con‐
128 nected to a serial port
129
130 los-panel
131 LCD driven by an Atmel AVR based board, connected to a
132 serial port
133
134 vdr-lcd
135 ???, connected to a serial port
136
137 vdr-wakeup
138 VDR-Wake module by Frank Jepsen (http://www.jepsen‐
139 net.de/vdr/)
140
141 pertelian
142 Pertelian X2040 module (http://pertelian.com/)
143
144 lis2 LIS2 from VLSystem (http://www.vlsys.co.kr), connected to
145 USB
146
147 mplay MPlay Blast from VLSystem (http://www.vlsys.co.kr), con‐
148 nected to USB
149
150 bwctusb
151 USB-to-HD44780 converter by BWCT (http://www.bwct.de)
152
153 lcd2usb
154 Till Harbaum's open source/open hardware LCD2USB
155 (http://www.harbaum.org/till/lcd2usb/)
156
157 uss720 USS-720 USB-to-IEEE 1284 Bridge (Belkin F5U002 USB Paral‐
158 lel Printer Adapters)
159
160 i2c LCD in 4-bit mode driven by PCF8574(A) / PCA9554(A), con‐
161 nected via I2C bus
162
163 ftdi USB connection via a FTDI FT2232D chip in bitbang mode
164
165 ethlcd TCP connection using open source/open hardware ethlcd
166 (http://manio.skyboo.net/ethlcd/)
167
168 usblcd LCD device from Adams IT Services (http://www.usblcd.de/)
169
170 i2500vfd
171 140x32 pixel VFD Display of the Intra2net Intranator 2500 appli‐
172 ance
173
174 icp_a106
175 ICP A106 alarm/LCD board in 19" rack cases by ICP
176
177 imon iMON IR/VFD modules in cases by Soundgraph/Ahanix/Silver‐
178 stone/Uneed/Accent
179
180 imonlcd
181 iMON IR/LCD modules in cases by Soundgraph/Ahanix/Silver‐
182 stone/Uneed/Accent/Antec
183
184 irtrans
185 IRTrans IR/VFD modules in cases by Ahanix (e.g. MCE303) and pos‐
186 sibly others May require irserver
187 (http://www.irtrans.de/en/download/linux.php) to be running for
188 connectivity.
189
190 IOWarrior
191 Code Mercenaries IOWarrior
192
193 irman IrMan infrared (input)
194
195 joy Joystick driver (input)
196
197 lb216 LB216 LCD displays
198
199 lcdm001
200 kernelconcepts.de 20x4 serial LCD displays
201
202 lcterm serial LCD terminal from Helmut Neumark Elektronik
203 (http://www.neumark.de)
204
205 lirc Infrared (input)
206
207 lis L.I.S MCE 2005 20x2 VFD (http://vlsys.co.kr)
208
209 MD8800 VFD displays in Medion MD8800 PCs
210
211 ms6931 MSI-6931 displays in 1U rack servers by MSI
212
213 mtc_s16209x
214 MTC_S16209x LCD displays by Microtips Technology Inc
215
216 MtxOrb Matrix Orbital displays (except Matrix Orbital GLK displays)
217
218 mx5000 LCD display on the Logitech MX5000 keyboard
219
220 NoritakeVFD
221 Noritake VFD Device CU20045SCPB-T28A
222
223 picolcd
224 Mini-box.com USB LCD (PicoLCD 20x4 & picoLCD 20x2)
225
226 pyramid
227 LCD displays from Pyramid (http://www.pyramid.de)
228
229 sed1330
230 SED1330/SED1335 (aka S1D13300/S1D13305) based graphical displays
231
232 sed1520
233 122x32 pixel graphic displays based on SED1520 controllers
234
235 serialPOS
236 Driver for Point Of Sale ("POS") devices using various protocols
237 (currently AEDEX only)
238
239 serialVFD
240 Text VFDs of various manufacturers, see LCDproc user-documenta‐
241 tion for further details.
242
243 shuttleVFD
244 Shuttle VFD (USB-based)
245
246 sli Wirz SLI driver (unknown)
247
248 stv5730
249 STV5730A on-screen display chip
250
251 svga VGA monitors using svgalib
252
253 t6963 Toshiba T6963 based LCD displays
254
255 text Standard "hard-copy" text display
256
257 tyan LCD module in Tyan Barebone GS series
258
259 ula200 ULA-200 device from ELV (http://www.elv.de)
260
261 xosd On Screen Display on X11
262
263 Multiple drivers can be used simultaneously; thus, for example, a
264 Matrix Orbital display (MtxOrb driver) can be combined with an infrared
265 driver (irmanin driver).
266
267
269 LCDd -d MtxOrb -d joy
270 The invocation example above will start LCDd reading its configuration
271 from the default configuration file /etc/sysconfig/lcdproc/LCDd.conf
272 but overriding the drivers specified therein with the Matrix Orbital
273 driver and the Joystick input driver.
274
275
277 There is a basic sequence:
278
279 1. Open a TCP connection to the LCDd server port (usually 13666).
280
281 2. Say "hello"
282
283 3. The server will return some information on the type
284 of display available.
285
286 4. Define (and use) a new screen and its widgets.
287
288 5. Close the socket when done displaying data.
289
290 CLIENT COMMANDS
291 There are many commands for the client to send to the LCDd server:
292
293 hello This starts a client-server session with the LCDd server; the
294 server will return a data string detailing the type of display
295 and its size.
296
297 client_set -name name
298 Set the client's name.
299
300 screen_add #id
301 Add a new screen to the display.
302
303 screen_del #id
304 Remove a screen from the display.
305
306 screen_set #id [-name name ] [-wid width] [-hgt height] [-priority
307 prio] [-duration int] [-timeout int] [-heartbeat mode] [-backlight
308 mode] [-cursor mode] [-cursor_x xpos] [-cursor_y ypos]
309 Initialize a screen, or reset its data.
310
311 widget_add #screen #id type [-in #frame]
312 Add a widget of type type to screen #screen.
313
314 widget_del #screen #id
315 Delete widget #id from screen #screen.
316
317 widget_set #screen #id data
318 Set the data used to define a particular widget #id on screen
319 #screen.
320
321
322 HEARTBEAT MODES
323 Valid heartbeat mode values (for the screen_set command) are:
324
325 on Display pulsing heart symbol.
326
327 off No heartbeat display.
328
329 open Use client's heartbeat setting. This is the default.
330
331
332 BACKLIGHT MODES
333 Valid heartbeat mode values (for the screen_set command) are:
334
335 on Turn backlight on.
336
337 off Turn backlight off
338
339 toggle Turn backlight off when it is on and vice versa.
340
341 open Use client's backlight setting. This is the default.
342
343 blink Blinking backlight
344
345 flash Flashing blacklight
346
347
348 Priorities
349 Valid priority settings (used in the screen_set command) are as fol‐
350 lows:
351
352 input The client is doing interactive input.
353
354 alert The screen has an important message for the user.
355
356 foreground
357 an active client
358
359 info Normal info screen, default priority.
360
361 background
362 The screen is only visible when no normal info screens exists.
363
364 hidden The screen will never be visible.
365
366 For compatibility with older versions of clients a mapping of numeric
367 priority values is also supported:
368
369 1 - 64 foreground
370
371 65 - 192
372 normal
373
374 193 - (infinity)
375 background
376
377 An example of how to properly use priorities is as follows:
378
379 Imagine you're making an mp3 player for lcdproc. When the song
380 changes, it's nice to display the new name immediately. So, you could
381 set your screen's priority to foreground, wait for the server to dis‐
382 play (or ignore) your screen, then set the screen back to normal. This
383 would cause the mp3 screen to show up as soon as the one on screen was
384 finished, then return to normal priority afterward.
385
386 Or, let's say your client monitors the health of hospital patients. If
387 one of the patients has a heart attack, you could set the screen prior‐
388 ity to alert, and it would be displayed immediately. It wouldn't even
389 wait for the previous screen to finish. Also, the display would stay
390 on screen most of the time until the user did something about it.
391
392
393 WIDGET TYPES
394 Widgets can be any of the following:
395
396 string A text string to display (as is).
397
398 hbar A horizontal bar graph.
399
400 vbar A vertical bar graph.
401
402 title A title displayed across the top of the display, within a ban‐
403 ner.
404
405 icon A graphic icon.
406
407 scroller
408 A scrolling text display, scrolling either horizontally or ver‐
409 tically.
410
411 frame A container to contain other widgets, permitting them to be ref‐
412 ered to as a single unit. A widget is put inside a frame by
413 using the -in #id parameter, where #id refers to the id of the
414 frame.
415
416 num Displays a large decimal digit
417
418 Widgets are drawn on the screen in the order they are created.
419
420
421 SETTING WIDGET DATA
422 In the widget_set command, the data argument depends on which widget is
423 being set. Each widget takes a particular set of arguments which
424 defines its form and behavior:
425
426 string x y text
427 Displays text at position (x,y).
428
429 title text
430 Uses text as title to display.
431
432 hbar x y length
433 Displays a horizontal bar starting at position (x,y) that is
434 length pixels wide.
435
436 vbar x y length
437 Displays a vertical bar starting at position (x,y) that is
438 length pixels high.
439
440 icon x y name
441 Displays the icon name at position (x,y).
442
443 scroller left top right bottom direction speed text
444 The text defined will scroll in the direction defined. Valid
445 directions are h (horizontal) and v (vertical). The speed
446 defines how many "movements" (or changes) will occur per frame.
447 A positive number indicates frames per movement; a negative num‐
448 ber indicates movements per frame.
449
450 frame left top right bottom wid hgt dir speed
451 Frames define a visible "box" on screen, from the (left, top)
452 corner to the (right, bottom) corner. The actual data may be
453 bigger, and is defined as wid (width) by hgt (height); if it is
454 bigger, then the frame will scroll in the direction (dir) and
455 speed defined.
456
457 num x int
458 Displays large decimal digit int at the horizontal position x,
459 which is a normal character x coordinate on the display. The
460 special value 10 for int displays a colon.
461
462
464 If LCDd seems not to work as expected, try to run it in the foreground
465 with reporting level set to maximum and reporting to stderr. This can
466 be achieved without changes to the config file by using the command
467 line:
468 LCDd -f -r 5 -s 0
469
470
472 /etc/sysconfig/lcdproc/LCDd.conf, LCDd's default configuration file
473
474
476 lcdproc-config(5), lcdproc(1), lcdexec(1)
477
478
480 LCDd was originally written by William Ferrell (wwf@splatwerks.org) and
481 Scott Scriven (scriven@cs.colostate.edu).
482
483 Since that time various people have contributed to LCDproc.
484
485 The newest version of LCDd should be available from here as part of the
486 lcdproc package:
487
488 http://www.lcdproc.org/
489
490
492 The lcdproc package is released as "WorksForMe-Ware". In other words,
493 it is free, kinda neat, and we don't guarantee that it will do anything
494 in particular on any machine except the ones it was developed on.
495
496 It is technically released under the GNU GPL license (you should have
497 received the file, "COPYING", with LCDproc) (also, look on
498 http://www.fsf.org/ for more information), so you can distribute and
499 use it for free -- but you must make the source code freely available
500 to anyone who wants it.
501
502 For any sort of real legal information, read the GNU GPL (GNU General
503 Public License). It's worth reading.
504
505
506
507
508
509LCDproc 14 May 2009 LCDd(8)