# Presentation: 114935

## Jefferson Lab Printing System

- Sherman White Jr.

## Jefferson Lab Print Services

- ~200-250 printers
- >1500 systems (Unix+Windows)
- 2 Windows print servers
- 1 Unix print server

## History:

- Different print servers for Unix and Windows platforms
- Unix printing primitive by modern standards
- Incompatibilities found between Unix vendor client/server software: All options not recognized by all client/server combinations.

## Old configuration (Windows):

**Windows Client**

**Print Server**

- Formatted Data (Client)

## Old Configuration (Unix)

**Unix Client**

**Print Server**

- Formatted Data (Client)

## Old Configuration (Overview)

- _Windows Systems:_ Smart print client software knows printer details and pre-formats data allowing for simplified handling by dumb printer server.
- _Unix Systems:_ Dumb print client relies on smart printer server to know printer details and to pre-format data prior to printing job.

## New Configuration

**Print Server**

- Formatted Data (Client)

**Windows Client**

**Unix Client**

## New Configuration (Overview)

- Windows Systems: Smart client software pre-formats data for simplified handling by a dumb print server.
- Unix Systems: Smart client software pre-formats data allowing intelligence to be moved away from the print server.

## New Configuration (Software)

_**Samba:**_** **Available for Linux as well as other Unix platforms, the software supports the Windows networking protocol SMB.
_**PDQ:**_** (Print Don’t Queue) **This software provides a simplified **client side** user interface for printing.
_**LprNG:**_** **Print **server **software available for Linux and other Unix platforms

## New Configuration (Cont’d)

_**Ppdfilt:**_ Client side software used to provide access to printer specific features. Integrated into PDQ print drivers.
_**GlibC:**_ Link library needed to build public domain packages and to provide compatibility lair between CUE platforms (HP, Linux, Solaris).
_**Gtk:**_ Public domain X widget library, used to compile Xpdq- the graphical version of pdq.

## New Configuration (Cont’d)

_**Perl**_- Used to write scripts and to tie various packages together including application start up and device driver interfaces.
_**Printtool **_– Redhat tool for remotely administering printers. Comes with Redhat. (optional)
_**Sambatool**_ – Public domain tool for remotely managing Samba configuration (optional)

## Advantages:

- One place to manage the addition and configuration of printers for both Windows and Unix.
- Remotely manageable.
- Flexible design allows print services to be easily moved to another system if needed.
- Highly backward compatible for both Windows and Unix users.

## Advantages (Cont’d)

- Scripting capabilities of Unix allow for creation of intelligent management programs.
- Open Source- allows for easy customization.
- PPD support makes for easy addition of new printer models.

## Currently Unimplemented

- Failover
- Load balancing
- Accounting/Reporting*

- *Supported via LprNG

## Example: Adding a Printer.

- Add printer to /etc/printcap of server (automatically exported via Samba)
- Add printer to client-side printrc (may be added using ‘vi’ or by GUI as root)
- Upload Windows device driver using Microsoft Add Printer Wizard. (Same as updating Windows Print Servers)

## Screen Shots:

**Samba/Windows** Network Neighborhood

## Screen Shots:

**Xpdq** printer selection window

## Screen Shots:

**Xpdq** printer feature selection menu (driver options)

## Screen Shots:

**Xpdq** print job status window

## Jefferson Labs

- http://cc.jlab.org/products