A conventional Linux system makes use of the lpd daemon to control printing. Multiple copies of the daemon are run with one copy to control the print spooler for each individual printer and one extra copy to handle overall control of printing on the computer.
You and the programs that you run can interact with the printer daemons using a number of programs.
For printing to remote printers you have a choice of either configuring a local spooler for the remote printer (and running a local copy of lpd to control the spooler which will pass print jobs to the remote spooler if the remote spooler is running) or if you only occassionally send jobs to the remote printer you can access the remote spooler directly with the rlpr program.
This article written by Stephen Chapman, Felgall Pty Ltd.