Turn a Rasp Pi into a print server with TurboPrint

Lead Image © Jakkarin Rongkankeaw, 123RF.com

Print Prodigy

Although the Raspberry Pi works well as a small printer server, the choice of drivers for the ARM processor is limited: ZEDOnet TurboPrint to the rescue!

ZEDOnet [1] is a small company in Germany that, for a long time now, has been offering the TurboPrint package for Linux as a cost-effective retrofit for missing Linux printer drivers. Whereas printer manufacturers commonly provide Linux printer drivers for inexpensive printers, suitable drivers for higher priced printers, such as photo printers, generally are not available.

Although TurboPrint is a closed-source package, it is low priced and has a generous 30-day trial period, making it easy to try before you buy. Recently, ZEDOnet began offering a version of TurboPrint for the ARM architecture priced to match economy-class nanocomputers. For example, the ARM package costs only EUR9.95 (~$12) and includes free updates for six months. For a two-year subscription, the cost is EUR14.95 (~$18). If you have a family license, you are allowed to use the printer drivers for free.

A general introduction online [2] highlights the most important points of printing under CUPS (refer to "The CUPS Printing System" box). Appropriate Raspberry Pis include the Model A, if the computer is connected to the Internet with a cable, or the Model B, wired or wireless. Of course, TurboPrint also works with other ARM computers: During testing, it ran successfully on a Banana Pi under Bananian.

The CUPS Printing System

The Common Unix Printing System (CUPS) has been the standard for printing on a Unix operating system for many years, and Apple is actively continuing to work on the system. CUPS was specifically designed for use on a network and communicates via the Internet printing protocol (IPP). Administration occurs either with the command cupsctl, with tools for the respective distribution, or from the URL http://localhost:631. Administration also works remotely via this URL if administration rights have been configured accordingly. CUPS decouples the physical from the logical printer, making it possible to have both a print queue for color output and a queue for black and white output for a single printer, saving you a detour to the settings when printing. PPD files store the printer capabilities, and these files help applications adapt dialogs dynamically to specific printer functionality. As a consequence, the dialogs only offer options that the printer can understand. Additional information about CUPS is available in the web-based interface or on the Internet [2].


TurboPrint hooks into the normal printing system, so the first thing you need to do is install the cups package:

$ sudo apt-get update
$ sudo apt-get install cups
$ sudo usermod -a -G lpadmin pi

Raspbian does not come with the package installed, even though this operating system is otherwise so well equipped. The last command adds the user pi to the lpadmin group, which makes it possible to assume all administrative tasks in the CUPS web interface. No further preparatory activities are necessary.

Now, you're ready to download the trial version, which goes pretty quickly [3]; however, make sure your download selection is for the ARM (Raspberry Pi etc.) version. The package comes as a zipped TAR archive of about 24MB.

Once the file is downloaded, you can unpack the archive, switch to the newly created subdirectory, and invoke the graphical installation program:

$ sudo tar \
  -xvzpf turboprint-2.36-1.ARMhf.tgz
$ cd turboprint-2.36-1/
$ sudo ./setup

If you want to administer the system on the command line via SSH, you should use the ./setup.sh command instead.

The graphical installation routine (Figure 1) requests various parameters. Usually you can accept the default values, although you should know that the default web browser in Raspbian is epiphany. For the trial version, you can simply skip over the step requesting the license key.

Figure 1: The TurboPrint installation program requests the necessary parameters.

After completing installation, start the program from the Preferences | TurboPrint Control menu item, or by double-clicking the Desktop icon if added, or by invoking the turboprint program directly from the command line. From the Control Center, you can add or delete a printer, edit the settings, or retroactively enter the license key (Figure 2). The configuration possibilities you will see depend on the features offered by an individual printer (Figure 3). If you would rather work on a console to set up printers, you should use the command-line version tpsetup. To configure printers, you would enter the command tpconfig.

Figure 2: The TurboPrint Control Center makes it possible to add and configure printers and enter a license key.
Figure 3: Printer configuration varies from model to model. Some of the printers offer numerous settings, and others do not.

After setup, new printers appears in the CUPS web interface (Figure 4) and become locally available on the Rasp Pi. You can now select the printer in the print dialog of each application, or you can print test pages provided in the TurboPrint installation directory.

Figure 4: Once TurboPrint is configured, the corresponding device becomes available in CUPS and in application print dialog boxes.

Print Server

Remote operation with the Rasp Pi working as a print server is more interesting. In your role as the administrator, you can set up remote operation and enable access via the network (see Figure 5).

Figure 5: By sharing the attached printers, you make it possible for other computers to send print jobs via the network to connected devices, thereby turning the Rasp Pi into a print server.

Using CUPS, you should configure a corresponding print queue for the printer on each remote computer. CUPS will be able to find printers that are set up appropriately on its own without the need for manual intervention. Using the printer with Windows is also a possibility, although the setup is somewhat more complex [2] [4].

If you are printing from a remote computer via the Rasp Pi but installed the TurboPrint package locally, then all of the advantages of the TurboPrint print monitor are available to you, especially information about ink levels (Figure 6) and the print preview.

Figure 6: The TurboPrint monitor provides information about ink levels and ink usage, even when it is connected to a central print server.

Buy this article as PDF

Express-Checkout as PDF

Pages: 4

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content