I have a minimal linux system and I would like to print. It seems the usual approach is to install cups.

But what I think is very annoying is that cups comes with its own webserver to do the configuration. Nevertheless it seems cups is the best working solution for printing.

  1. Is there a lightweight version of cups, which just takes plain configuration files and provides the usual lp* stuff.

  2. Is it possible to compile cups so it does not include a webserver.

  3. Why do they think it is a good idea to install a webserver to configure a printserver?


ad 1) I don't know.

ad 2) Strictly speaking: No, because of 3)

ad 3) Because the webserver component already is there to implement IPP (Internet Printing Protocol), which is a derivative of HTTP. Therefore, building a web UI to configure the server and providing information about the printers is only one little step further.

You may be successful in stripping down the web UI until it no longer works, but you can't get rid of the web server component unless you also carve out IPP support. And that will result in a complete rewrite of cups, since IPP is it's native protocol.

  • I see. This is a very good reason for 3. Thank you. – Zephyre Jan 27 '13 at 13:35
  1. Yes and no, you could install plain LPD (BSD) and magicfilter, but most of automation done by CUPS are to be done by yourself.

  2. Main purpose of CUPS is IPP implementation and IPP is based on HTTP, so no.

  3. No, but you could limit your CUPS to listen only loopback network device listen 127.0.01

Two ways for your need:

  1. Install low level daemon, like LPRng or BSD/LPD, magicfilter and configure your /etc/printcap yourself
  2. Limit CUPS to localhost in /etc/cups/cupsd.conf, set Listen localhost:631 instead of Listen *:631

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.