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