1LCDd(8)                          LCDproc suite                         LCDd(8)
2
3
4

NAME

6       LCDd - LCDproc server daemon
7
8

SYNOPSIS

10       LCDd  [-hf]  [-c  config] [-d driver] [-i bool] [-a addr] [-p port] [-u
11       user] [-w time] [-r level] [-s bool]
12
13

DESCRIPTION

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

OPTIONS

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

INVOCATION

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

LCDPROC CLIENT-SERVER PROTOCOL

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

BUGS

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

FILES

563       /etc/lcdproc/LCDd.conf, LCDd's default configuration file
564
565

SEE ALSO

567       lcdproc-config(5), lcdproc(1), lcdexec(1)
568
569

AUTHOR

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)
Impressum