Headless software

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Headless software (e.g. "headless java"[1] or "headless Linux",[2] for instance) is software capable of working on a device without a graphical user interface. Such software receives inputs and provides output through other interfaces like network or serial port and is common on servers and embedded devices.

The term "headless" is most often used when the ordinary version of the program requires that a graphics card or similar graphical interface device be present. For instance, the absence of a graphic card, mouse or keyboard may cause an initialization process that assumes their presence to fail, or the graphics card may be relied upon to build some offline image that is later served through network.

A headless computer (e.g. and most commonly server) may be missing many of the system libraries that support the display of graphical interfaces. Software that expects these libraries may fail to start or even compile if such libraries are not present. Software built on a headless machine must be built within command line tools only, without the aid of an IDE.[3][4]

See also[edit]


  1. ^ Clarification of "headless mode" for Java case
  2. ^ Clarification of "headless Linux"
  3. ^ A discussion relevant to the headless builds.
  4. ^ Michael Wiles (2010) Headless Build, who needs it?