Printing from bwLehrpool

The bwLehrpool-printer system serves to offer a unified user interface supporting the wildly different local options.

First of all, the VM must be configured properly to print from within bwLehrpool. (Windows, Linux). The VM templates offered by the bwLehrpool team already contain these settings. Additionally, the satellite server administrator must set up the local, institution-specific printers and copy these settings to the satellite server. This only needs to be done once. (Global Printer Settings).


The application was designed to change the normal printing process as little as possible from the user view. The only difference from the familiar process is that - no matter which printer is desired - under Windows (or in the VM being used) the user should always choose “Pool-Drucker”, which is available in every standard image and always named the same.

The direct selection of special settings such as landscape mode or multiple pages per sheet are offered as options in the default printer “Pool-Drucker”. The settings for single or double sided printing can be chosen in later printer settings windows.

Selecting “Print” in a given application will launch the printer selection window of the bwLehrpool-System (see image 3). This will display the printers available at your location. Depending on the printer, further settings will be presented, including single and double-sided printing (Simplex/Duplex).

In some locations you may be required to authenticate using your username and password to approve printing jobs. For your convenience, this window will only appear if required at your location (see image 4).

Abb. 2: Vorgegebener Drucker im MS-Word-Druckdialog
Abb. 1: Vorgegebener Drucker im LibreOffice-Druckdialog Abb. 2: Vorgegebener Drucker im MS-Word-Druckdialog Abb. 3: Auswahlfenster des bwLehrpool-Drucksystems (Bsp. Uni Freiburg) Abb. 4: Optionale Paßwortabfrage bei Druckvorgang
Of course it is possible for any instructor to configure print queues in addition to the default “Pool-Drucker” if desired. Responsibility for maintaining the configuration of such printers lies with the image owner.

Technical Overview

Schematischer Ablauf des bwLehrpool-Drucksystems In order to avoid having to track each individual printer in various locations individually in the independent virtual machines, all printer controls, settings, drivers and localization options were moved to the underlying base system.

This underlying base system is addressed in a standardized way by means of a PDF printer called “PDFCreator”. It accepts incoming print jobs, offers a selection of system-supplied printers via a window independent of the VM and, if necessary, queries the user for the required authentication.

This printing system then directs the print output either directly to the selected printer, to a further print server, a billing system or a similar local solution.

Printer settings in Windows VMs

We recommend using a template that already contains the required settings. The bwLehrpool team is not able to provide support for any failed printer installation attempts.

If, in spite of this, you want to install the printer yourself, download the archive. Unzip the archive and execute the scripts 'PDFCreatorDownload.cmd' and 'PDFCreatorInstall.bat' (in that order) with admin privileges. The scripts will download the current version of PDFCreator and then install the software with the default settings. After the second script you will need to authenticate for the 'Studenten-Account' (password = 'labor'). If after installing PDFCreator a warning message pops up on the software, click 'No'.

After completing the installation, you should now have two new printers in your VM. One is the PDFCreator itself, which allows you to save documents from any application (e.g., Word, Notepad, etc) directly in PDF format. Second, you have the 'Pool-Drucker', which provide the interface to your local printing environment.

Adding printer manually (alternative to the command line)

Printer settings in Linux VMs

Setting up the printer on Linux requires a cups daemon within the VM.

  • If necessary, stop the runnin cup instance.
  • Insert the following block (if necessary) into '/etc/cups/printers.conf':
    <DefaultPrinter Pool-Drucker>
    UUID urn:uuid:883a8e46-3499-3b44-79fc-b843b1b1444b
    Info Generic PostScript Printer Foomatic/Postscript (recommended)
    MakeModel Generic PostScript Printer Foomatic/Postscript (recommended)
    DeviceURI lpd://
    State Idle
    StateTime 1458243771
    Type 8433692
    Accepting Yes
    Shared Yes
    JobSheets none none
    QuotaPeriod 0
    PageLimit 0
    KLimit 0
    OpPolicy default
    ErrorPolicy stop-printer
  • Unzip pool-drucker.ppd.tgz and move the resulting Pool-Drucker.ppd to the '/etc/cups/ppd' directory.
  • Restart the cups daemon.

Global Printer Settings in Satellite Server

The instructions above relate to the setup of the printers within VMs. These use a network printer to forward the print job to the underlying host system (Minilinux). The configuration of the local, institution-specific print environment must therefore be included in Minilinux. Thus, the VMs remain generic and can be exchanged between different locations.

Set up your local printers within a locally installed Linux system using CUPS. You can set up any number of printers. Check that you can actually print and that everything works as intended!

You can also use a Linux VM within bwLehrpool instead of a locally installed Linux system. Be careful, however, that the network printer described above may already be included.

After this is finished, build a generic module consisting of the files:

  • /etc/cups/printers.conf
  • /etc/cups/cupsd.conf
  • /etc/cups/ppd/<all required driver files>

For example, your archive should now look like this:

[demo ~]$ tar tvf printer_config.tgz
drwxr-xr-x demo /users     0  2014-02-11 17:01 etc/
drwxr-xr-x demo /users     0  2017-01-12 16:59 etc/cups/
-rw------- demo /users  4551  2015-11-17 15:30 etc/cups/cupsd.conf
drwxr-xr-x demo /users     0  2016-12-23 10:29 etc/cups/ppd/
-rw-r--r-- demo /users 107397 2015-10-13 14:19 etc/cups/ppd/Canon.ppd
-rw-r--r-- demo /users    549 2017-01-12 16:59 etc/cups/printers.conf

The final step is to upload the archive as a new generic module to your satellite server and assign it to the active system configuration.