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

INVOCATION

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

LCDPROC CLIENT-SERVER PROTOCOL

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

BUGS

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

FILES

524       /etc/lcdproc/LCDd.conf, LCDd's default configuration file
525
526

SEE ALSO

528       lcdproc-config(5), lcdproc(1), lcdexec(1)
529
530

AUTHOR

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