Both the GNOME and the KDE projects have support for CUPS. GNOME and KDE application programs and printer utilities link to the CUPS IPP client library. This has proved to work much more smoothly and reliably than previous approaches such as running the BSD lpr or System V lp command-line tools such as lpq or lpstat and attempting to parse the output.
Now it would be nice if all of these programs provided support for PPR as well as CUPS. The easiest way to achive this was to implement IPP and at least some of the CUPS extensions, such as the ones which allow clients to request a list of available printers. That is precisely what was done. PPR can now work as a drop-in replacement for the CUPS IPP server. The procedure is as follows:
You can disable the CUPS IPP server by shutting down cupsd:
/etc/init.d/cupsys stop
To prevent it from starting again, edit /etc/init.d/cupsys and add "exit 0" after the first line.
You can switch the CUPS IPP server to another port by editing /etc/cups/cupsd.conf (/etc/cups.d/ports.conf on recent versions of Ubuntu) and changing the line which says:
Listen 127.0.0.1:631
to something such as:
Listen 127.0.0.1:10631
If there is a line like:
Listen /var/run/cups/cups.sock
comment it out.
Then restart cupsd:
/etc/init.d/cupsys restart