LCDproc is a system monitoring tool that displays information on small alphanumeric LCD devices. It runs on most Unix-like platforms and has been ported to Windows.

The tool is implemented as a client/server system; the server portion, LCDd, runs on the machine directly connected to the desired display hardware (ncurses and even plain ugly text drivers are provided if no actual LCD hardware is available), and listens for connections from one or more clients. LCDd provides a high-level widget library to help abstract the process of actually driving the display hardware; clients just send a list of screens and, for each screen, a list of widgets to draw on them. Widgets available include bar graphs, custom graphic characters, text labels, percent and numeric fields, text fields, scrolling marquees, and scrolling lists. LCDd also provides a menu system to support displays with keypads or other inputs; with appropriate hardware LCDd can be configured to permit shutdowns and reboots right from the display's keypad. Other functionality, such as contrast adjustment, manually switching between screens, and more, are also available.

Clients connect via socket to the server. The system is technically a client-side push monitoring platform as clients are responsible for updating the screens and widgets they send. The server does not poll, but rather sends notice to clients such as "your screen X is now on the display" and "your screen X is no longer on the display", permitting clients to conserve computing resources by not even bothering to gather statistics when they're effectively being ignored.

A very large pile of hardware devices are now supported. The server itself is very lightweight and compiles on most platforms. The client shipped with the server is also lightweight and provides realtime CPU, memory, disk, and I/O utilization, lmsensors readings, lists of top processes (like top does), online users, battery/power status, and historical load average. Bindings are available for C, C++, Perl, and Python for fast, simple client development. Third-party clients include MP3 player front-ends complete with IR remote controls (this is used by some component media player projects), network monitoring via SNMP, and more.

Availability and Status
LCDproc can be found at It has an active development group of nearly 20 developers, thousands of users, and support (in the form of free hardware in exchange for driver development to support it) from several manufacturers of LCD hardware. It is licensed under the GPL, making it freely available to use and modify.

New developers and client authors are always welcome.

Log in or register to write something here or to contact authors.