Yesterday evening I did setup a CUPS server at home. It was on my TODO list since years. Before I just went downstairs and connected the printer via USB to the laptop/netbook for printing (to pickup the printout I have to go there anyway). It is not the first time that I setup the server side of CUPS, but it was the first time that I wanted to use the CUPS command line utilities instead of the FreeBSD/Solaris printspooler and the native lpr/lp commands.
First I just had a look at some man-pages of the CUPS utilities, in the hope to find some command to tell that any printing should be done via a remote CUPS server. As I did not find anything, I went to the documentation page of CUPS to search there. To me this is some simple config part if you want to print from more than one machine, so I had a look at the “Getting Started” part. This was a total failure. I found nothing related to my problem. After that I went to the “Man Pages” part to search for a command which I may have overlooked. Again, a total failure. The FAQ also does not contain any useful information when you search for “client” or “remote”. In the end I stumbled over the client.conf entry in the References part. After I found this it was easy (and fast, I just added a line in client.conf with “ServerName <server>” and everything worked as I wanted it to work).
The setup in Windows XP to use the CUPS server is easy, just add a network printer via http://<server>:631/printers/<printer> and use the correct printer driver for your printer model. Do not forget to make the application/object-stream in the mime* config files and allow remote printing in the server. No, I do not want to integrate it into Samba, the number of Windows systems is very limited (2 Windows against 2 Unix machines with 14 lightweight virtual Unix machines), so I do not need this.