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 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/LCDd.conf,  some  of  them  can  be  overriden  using command line
21       options.  Before running LCDd you should carefully  read  through  that
22       file  and modify everything neccessary according to your needs.  Other‐
23       wise 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       lcdvd 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/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       CFontz633
84              CrystalFontz CFA-633 serial/USB LCD displays
85
86       CFontzPacket
87              CrystalFontz  CFA-631,  CFA-633  and CFA-635 serial/USB LCD dis‐
88              plays
89
90       curses Standard video display using the (n)curses library
91
92       CwLnx  serial/USB displays by Cwlinux (http://www.cwlinux.com)
93
94       ea65   VFD front panel display on Aopen XC Cube EA65 media barebone
95
96       EyeboxOne
97              LCD display on the EyeboxOne (http://www.rightvision.com)
98
99       g15    LCD display on the Logitech G15 keyboard
100
101       glcdlib
102              graphical LCDs supported by graphlcd-base
103
104       glk    Matrix Orbital GLK Graphic Displays
105
106       hd44780
107              Hitachi HD44780 LCD displays.  This driver supports the  follow‐
108              ing sub-drivers (a.k.a. connection types):
109
110              4bit   LCD 4bit-mode, connected to a PC parallel port
111
112              8bit   LCD 8bit-mode, connected to a PC parallel port
113
114              serialLpt
115                     LCD in 4bit-mode through a 4094 shift register
116
117              winamp LCD  in  8bit-mode using WinAmp-wiring, connected to a PC
118                     parallel port
119
120              picanlcd
121                     LCD driven by a PIC-an-LCD chip/board by Dale Wheat, con‐
122                     nected to a serial port
123
124              lcdserializer
125                     LCD  driven  by  a  PIC16C54-based piggy-back board, con‐
126                     nected to a serial port
127
128              los-panel
129                     LCD driven by an Atmel AVR based board,  connected  to  a
130                     serial port
131
132              vdr-lcd
133                     ???, connected to a serial port
134
135              vdr-wakeup
136                     VDR-Wake   module  by  Frank  Jepsen  (http://www.jepsen
137                     net.de/vdr/)
138
139              pertelian
140                     Pertelian X2040 module (http://pertelian.com/)
141
142              lis2   LIS2 from VLSystem (http://www.vlsys.co.kr), connected to
143                     USB
144
145              bwctusb
146                     USB-to-HD44780 converter by BWCT (http://www.bwct.de)
147
148              lcd2usb
149                     Till   Harbaum's   open   source/open   hardware  LCD2USB
150                     (http://www.harbaum.org/till/lcd2usb/)
151
152              i2c    LCD in 4-bit mode driven by PCF8574(A) / PCA9554(A), con‐
153                     nected via I2C bus
154
155       icp_a106
156              ICP A106 alarm/LCD board in 19" rack cases by ICP
157
158       imon   iMON   IR/VFD  modules  in  cases  by  Soundgraph/Ahanix/Silver‐
159              stone/Uneed/Accent
160
161       IOWarrior
162              Code Mercenaries IOWarrior
163
164       irman  IrMan infrared (input)
165
166       joy    Joystick driver (input)
167
168       lb216  LB216 LCD displays
169
170       lcdm001
171              kernelconcepts.de 20x4 serial LCD displays
172
173       lcterm serial   LCD   terminal   from   Helmut    Neumark    Elektronik
174              (http://www.neumark.de)
175
176       lirc   Infrared (input)
177
178       MD8800 VFD displays in Medion MD8800 PCs
179
180       ms6931 MSI-6931 displays in 1U rack servers by MSI
181
182       mtc_s16209x
183              MTC_S16209x LCD displays by Microtips Technology Inc
184
185       MtxOrb Matrix Orbital displays (except Matrix Orbital GLK displays)
186
187       NoritakeVFD
188              Noritake VFD Device CU20045SCPB-T28A
189
190       picolcd
191              Mini-box.com USB LCD (picoLCD 20x2)
192
193       pyramid
194              LCD displays from Pyramid (http://www.pyramid.de)
195
196       sed1330
197              SED1330/SED1335 (aka S1D13300/S1D13305) based graphical displays
198
199       sed1520
200              122x32 pixel graphic displays based on SED1520 controllers
201
202       serialVFD
203              NEC (FIPC8367 based) and FUTABA VFDs
204
205       sli    Wirz SLI driver (unknown)
206
207       stv5730
208              STV5730A on-screen display chip
209
210       svga   VGA monitors using svgalib
211
212       t6963  Toshiba T6963 based LCD displays
213
214       text   Standard "hard-copy" text display
215
216       tyan   LCD module in Tyan Barebone GS series
217
218       ula200 ULA-200 device from ELV (http://www.elv.de)
219
220       xosd   On Screen Display on X11
221
222       Multiple  drivers  can  be  used  simultaneously;  thus, for example, a
223       Matrix Orbital display (MtxOrb driver) can be combined with an infrared
224       driver (irmanin driver).
225
226

INVOCATION

228              LCDd -d MtxOrb -d joy
229       The  invocation example above will start LCDd reading its configuration
230       from the default configuration file /etc/LCDd.conf but  overriding  the
231       drivers  specified  therein with the Matrix Orbital driver and the Joy‐
232       stick input driver.
233
234

LCDPROC CLIENT-SERVER PROTOCOL

236       There is a basic sequence:
237
238       1. Open a TCP connection to the LCDd server port (usually 13666).
239
240       2. Say "hello"
241
242       3. The server will return some information on the type
243              of display available.
244
245       4. Define (and use) a new screen and its widgets.
246
247       5. Close the socket when done displaying data.
248
249   CLIENT COMMANDS
250       There are many commands for the client to send to the LCDd server:
251
252       hello  This starts a client-server session with the  LCDd  server;  the
253              server  will  return a data string detailing the type of display
254              and its size.
255
256       client_set -name name
257              Set the client's name.
258
259       screen_add #id
260              Add a new screen to the display.
261
262       screen_del #id
263              Remove a screen from the display.
264
265       screen_set #id [-name name ]  [-wid  width]  [-hgt  height]  [-priority
266       prio]  [-duration  int]  [-timeout  int]  [-heartbeat mode] [-backlight
267       mode] [-cursor mode] [-cursor_x xpos] [-cursor_y ypos]
268              Initialize a screen, or reset its data.
269
270       widget_add #screen #id type [-in #frame]
271              Add a widget of type typeto screen #screen.
272
273       widget_del #screen #id
274              Delete widget #id from screen #screen.
275
276       widget_set #screen #id data
277              Set the data used to define a particular widget  #id  on  screen
278              #screen.
279
280
281   HEARTBEAT MODES
282       Valid heartbeat mode values (for the screen_set command) are:
283
284       on     Display pulsing heart symbol.
285
286       off    No heartbeat display.
287
288       open   Use client's heartbeat setting. This is the default.
289
290
291   BACKLIGHT MODES
292       Valid heartbeat mode values (for the screen_set command) are:
293
294       on     Turn backlight on.
295
296       off    Turn backlight off
297
298       toggle Turn backlight off when it is on and vice versa.
299
300       open   Use client's backlight setting. This is the default.
301
302       blink  Blinking backlight
303
304       flash  Flashing blacklight
305
306
307   Priorities
308       Valid  priority  settings  (used in the screen_set command) are as fol‐
309       lows:
310
311       input  The client is doing interactive input.
312
313       alert  The screen has an important message for the user.
314
315       foreground
316              an active client
317
318       info   Normal info screen, default priority.
319
320       background
321              The screen is only visible when no normal info screens exists.
322
323       hidden The screen will never be visible.
324
325       For compatibility with older versions of clients a mapping  of  numeric
326       priority values is also supported:
327
328       1 - 64 foreground
329
330       65 - 192
331              normal
332
333       193 - (infinity)
334              background
335
336       An example of how to properly use priorities is as follows:
337
338       Imagine  you're  making  an  mp3  player  for  lcdproc.   When the song
339       changes, it's nice to display the new name immediately.  So, you  could
340       set  your  screen's priority to foreground, wait for the server to dis‐
341       play (or ignore) your screen, then set  the  screen  back  to  inormal.
342       This  would cause the mp3 screen to show up as soon as the one onscreen
343       was finished, then return to normal priority afterward.
344
345       Or, let's say your client monitors the health of hospital patients.  If
346       one of the patients has a heart attack, you could set the screen prior‐
347       ity to alert, and it would be displayed immediately.  It wouldn't  even
348       wait  for  the previous screen to finish.  Also, the display would stay
349       on screen most of the time until the user did something about it.
350
351
352   WIDGET TYPES
353       Widgets can be any of the following:
354
355       string A text string to display (as is).
356
357       hbar   A horizontal bar graph.
358
359       vbar   A vertical bar graph.
360
361       title  A title displayed across the top of the display, within  a  ban‐
362              ner.
363
364       icon   A graphic icon.
365
366       scroller
367              A  scrolling text display, scrolling either horizontally or ver‐
368              tically.
369
370       frame  A container to contain other widgets, permitting them to be ref‐
371              ered  to  as  a  single unit.  A widget is put inside a frame by
372              using the -in #id parameter, where #id refers to the id  of  the
373              frame.
374
375       Widgets are drawn on the screen in the order they are created.
376
377
378   SETTING WIDGET DATA
379       In the widget_set command, the data argument depends on which widget is
380       being set.  Each widget takes  a  particular  set  of  arguments  which
381       defines its form and behavior:
382
383       string x y text
384              Displays text at position (x,y).
385
386       title text
387              Uses text as title to display.
388
389       hbar x y length
390              Displays  a  horizontal  bar  starting at position (x,y) that is
391              length pixels wide.
392
393       vbar x y length
394              Displays a vertical bar  starting  at  position  (x,y)  that  is
395              length pixels high.
396
397       icon x y name
398              Displays the icon name at position (x,y).
399
400       scroller left top right bottom direction speed text
401              The  text  defined  will scroll in the direction defined.  Valid
402              directions are h  (horizontal)  and  v  (vertical).   The  speed
403              defines  how many "movements" (or changes) will occur per frame.
404              A positive number indicates frames per movement; a negative num‐
405              ber indicates movements per frame.
406
407       frame left top right bottom wid hgt dir speed
408              Frames  define  a  visible "box" on screen, from the (left, top)
409              corner to the (right, bottom) corner.  The actual  data  may  be
410              bigger,  and is defined as wid (width) by hgt (height); if it is
411              bigger, then the frame will scroll in the  direction  (dir)  and
412              speed defined.
413
414       num x int
415              Displays  large  decimal digit int at the horizontal position x,
416              which is a normal character x coordinate on  the  display.   The
417              special value 10 for int displays a colon.
418
419

BUGS

421       If  LCDd seems not to work as expected, try to run it in the foreground
422       with reporting level set to maximum and reporting to stderr.  This  can
423       be  achieved  without  changes  to the config file by using the command
424       line:
425              LCDd -f -r 5 -s 0
426
427

FILES

429       /etc/LCDd.conf, LCDd's default configuration file
430
431

SEE ALSO

433       lcdproc-config(5), lcdproc(1), lcdexec(1)
434
435

AUTHOR

437       LCDd was originally written by William Ferrell (wwf@splatwerks.org) and
438       Scott Scriven (scriven@cs.colostate.edu).
439
440       Since that time various people have contributed to LCDproc.
441
442       The newest version of LCDd should be available from here as part of the
443       lcdproc package:
444
445                       http://www.lcdproc.org/
446
447
449       The lcdproc package is released as "WorksForMe-Ware".  In other  words,
450       it is free, kinda neat, and we don't guarantee that it will do anything
451       in particular on any machine except the ones it was developed on.
452
453       It is technically released under the GNU GPL license (you  should  have
454       received   the   file,   "COPYING",   with   LCDproc)  (also,  look  on
455       http://www.fsf.org/ for more information), so you  can  distribute  and
456       use  it  for free -- but you must make the source code freely available
457       to anyone who wants it.
458
459       For any sort of real legal information, read the GNU GPL  (GNU  General
460       Public License).  It's worth reading.
461
462
463
464
465
466LCDproc                        18 September 2006                       LCDd(8)
Impressum