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