Printing Fundamentals Vinny Sosa & Kevin Cox Americas Systems Engineering Team October 2000.

35
Printing Fundamentals Vinny Sosa & Kevin Cox Americas Systems Engineering Team October 2000

Transcript of Printing Fundamentals Vinny Sosa & Kevin Cox Americas Systems Engineering Team October 2000.

Printing Fundamentals

Vinny Sosa & Kevin Cox

Americas Systems Engineering Team

October 2000

Agenda

Core Printing– Understanding the Auto-creation Process

– Printer Mapping in MetaFrame for UNIX and NT

– Thin Client Printing & Non Windows Printing

Advanced– Best Practices

Understanding Core Printing

The Auto-Creation Process

The Auto-Creation Process

What happens when a user connects– NT 4.0, Terminal Server Edition

– Windows 2000 w/ Terminal Services

– UNIX

The Auto-Creation Process

When a user logs into an MF 1.8 machine Winspool.drv maps printers by:1. Checking <client name>#<printername> in wtsuprn.inf2. Checking <printername> in wtsuprn.inf

5. Checking <client name>#<client print driver name> in wtsuprn.inf6. Checking <client print driver name> in wtsuprn.inf

4. Checking <printername> in wtsprnt.inf3. Checking <client name>#<printername> in wtsprnt.inf

7. Checking <client name>#<client print driver name> in wtsprnt.inf8. Checking <client print driver name > in wtsprnt.inf9. <client print driver name> in HKEYLocalMachine\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-2

10. <client print driver name> in ntprint.inf

The Auto-Creation Process

When a user logs into an MF 1.1 for UNIX machine:– 1. User logs on to MF UNIX– 2. Print driver name is sent to server– 3. Driver names are mapped to ports (lpt1, lpt2)– 4. From a command line:

ctxlpr [Filename] for print to default printer ctxlpr [Printername | Printer port] [Filename] for others

– 5. From an application Application renders job to printer port

– Depends on configured printer and port Job is sent to mapped printer port Client side driver translates job and prints to user

printer

Understanding Core Printing

Setting up Printer Mapping

Printer Mapping Setup

Printer setup on each platform– NT

– Win2K

– UNIX

Printer Mapping Setup

Printer Setup on NT 4.0/Win2K– Considerations

Any drivers that you wish to support must be installed prior to client logon

Settings in the Users Config override Citrix Defaults unless specified in Citrix Connection Configuration

Print queue is deleted when user logs off If print queue contains print jobs it is not deleted SP5 offers some wonderful new situations to the mix

Printer Mapping Setup

Printer Setup on NT 4.0/Win2K– Network Printing

1. Install remote printer to server using Print Manager 2. Give users access to installed printer 3. Make this printer the default printer 4. If users have this printer installed locally as well, and

you would like to map it, you must make sure that the driver names match

Printer Mapping Setup

Printer Setup on NT 4.0/Win2K– Network Printing (With SP5)

1. From the Network Printer Server, share the …\System32\Spool\Drivers\W32x86 directory

2. On the MetaFrame Server, locate the following reg key:

– HKLM\System\CurrentControlSet\Control\Print\ Providers\LanMan Print Services\Servers

3. Within this key locate the TrustedDriverPath value and add the following to the end of the value:

– …\W32%PROCESSOR_ARCHITECTURE; \\PrintServerName\ShareName

Printer Mapping Setup

Printer Setup on NT/Win2K– Local Printing for Windows clients

1. Install the NT driver for the printer that you wish to support 2. Delete the icon for the printer from Print Manager 3. Assure that the users have access to …\system32\spool and

…\system32\printer.inf 4. Assure that User Manager is configured to allow the user to

map LPT ports and Printers 5. Ensure that Citrix Connection Configuration is configured to

allow LPT port and printer mapping 6. Install the driver on the Windows Client 7. Note the driver name on the client and make sure that it

matches the name of the driver on the server 8. If the driver names do not match, use the WTSUPRN file to

map the names to each other

Printer Mapping Setup

Printer Setup on UNIX– Considerations

Most UNIX printing output is done in Postscript or ASCII. Line feeds and carriage returns are treated differently by

UNIX. This could affect the output.

LPT mapping is supported (LPT1 and LPT2).

ctxprinters lists printers available and their queue names.

Some applications (Netscape, etc.) prompt the user to use LP or LPR to print the document. However, some applications have this option hard coded and you may need to link or rename the application’s printing command.

Printer Mapping Setup

Printer Setup on UNIX– Considerations

There are no printer drivers on the server. The application is rendering the print job; not the operating system or MetaFrame.

Third party filters. You can use third party filters to produce the desired print format. For example:

dvi to PCL–or-dvi to PS

Solaris filters can be added to the file /etc/printers.conf.

Printer Mapping Setup

Printer Setup on UNIX– Network Printing

1. Log in as root or user with proper rights 2. From a command prompt, type the following:

– lpadmin -p printer_name -s ip_address:queue_name

3. To make this printer the default printer:– lpadmin -d printer_name

Printer Mapping Setup

Printer Setup on UNIX– Local Printing

Command Line– ctxlpr –P [Printername | Printerport] filename

Applications– If the application uses the lpr or lp command replace this

command with ctxlpr

– ctxlpr prints to the default printer

– Use ctxprinters to view list of printers from command line

– Use the ctxlpr –b command to print in the background

– Use ctxlpr –P [Printername | Printerport] for printer other than the default

Understanding Core Printing

Thin Client and Non Windows Printing

Thin Client Printing

What methods are available– IP Printing

– Network Printing

– LPT Port Mapping Printer ports are mapped for thin clients Users can install printers to this port Administrators can script the driver install if printers are

known

Macintosh Printing

To setup Macintosh printing:– 1. Install the latest NT driver for the postscript or direct

printer– 2. Install the driver to an LPT port on the Citrix server and

delete it’s icon in Print Manager– 3. Edit WTSUPRN.inf to point Mac driver to WinNT driver on

the server– 4. On the client, open ICA Client Editor– 5. Press Apple+T and select printer settings in the default

settings drop down list– 6. In the Local Printer Type option, Select Direct Printer or

Postscript Printer– 7. Select your printer from the list or click add and enter the

printer name. It should match the driver name on the server.

Understanding ICA Client PrinterConfiguration ICA Client Printer Configuration

– Functionality in MF 1.8

– Available for NT only

Your end users can use ICA Client Printer Configuration to:– Create and connect to ICA Client Printers

– Create Print Queues for ICADOS32 client

Suggestion– You may want to put this icon on the desktop or Start

Menu root for easier access

Understanding ICA Client PrinterConfiguration How does it work

– 1. Open ICA Client Printer Configuration from Start\Programs\MetaFrame Tools

– 2. Select New from the printer menu and follow directions on installing a printer

– 3. The list of printers available is populated by: SP5 and above

– Administrator specified in Trusted Path

SP4 and below– …\System32\Spool\Drivers\W32x86\2

– Drivers previously installed on the Citrix Server

Advanced Printing

Optimization Techniques

Best Practices

Optimizing Printing– Spool File Management

– IP/Network Printing

– Client Optimization

Centralized Driver Management– Replicating Print Drivers

– Use Trusted Shares

Managing Print Drivers– Standardize on Printers

– Less Drivers

– WTSUPRN

Best Practices

Optimizing Printing

Manage the Spool file– Move spool file to non-system drive

HKLM\System\Current Control Set\Control\Print\Printers– DefaultSpoolDirectory (REG_SZ) = [path]

On Print Servers, this will recover jobs if the server goes down

– Manage Client Printer Pipes Default is 10 (Value must be between 10 and 63) Command is CLTPRINT [/q] [/pipes:nn] [/?] Controls Number of jobs that can be spooled

simultaneously

Best Practices

Optimizing Printing (cont’d)

To change the location of spool files– 1. Create a new spool file directory on a different disk (For

Terminal Servers, this should be created on your application partition)

– 2. Click Start, and then point to Settings.– 3. Click Printers.– 4. Click Server Properties on the File menu.– 5. Click the Advanced tab.– 6. In the Spool Folder box, type the path for the new spool

file directory.– 7. Click OK.

Best Practices

Optimizing Printing (cont’d)

IP/Network Printing– Faster

– Less Compatibility Issues

– Centrally Managed/ Server side drivers only

– Offload print queue from Terminal Server to Print Server Spooler

Best Practices

Optimizing Printing (cont’d)

Client optimizations– Disable printer pop-up message

Printer Dialogue can hang server while awaiting user input Modify HKLM\System\Current Control Set\Control

\print\providers\– NetPopup (REG_DWORD) = 1

– EventLog (REG_DWORD) = 0

– Disable Printer Beeps The beep can decrease printing performance while being

transmitted to the client Modify HKLM\System\Current Control Set\Control

\print\– BeepEnabled (REG_DWORD) = 0

Best Practices

Optimizing Printing (cont’d)

Client side printer optimizations– Some users have seen more than 5 times

performance

– In module.ini do the following:[ICA 3.0]

Bufferlength=8192

[Client Printer]

Windowsize=2048

MaxWindowsize=8192

Best Practices

Driver Management

Replicating Print Drivers– Copy HKEY_Local_Machine\SYSTEM\

CurrentControlSet\Control\Print\Printers

– Export registry settings to .key file and run on each server

– Copy WTSRV\System32\Spooler\Drivers\2 to each server

– Can be automated with Kixtart or Perl script

Best Practices

Driver Management (cont’d)

Using Trusted Shares– Allow you to manage one set of print drivers for the

entire server farm

– Allows for easier driver replication

Best PracticesDriver Management (cont’d)

Configuring Trusted Shares 1. Locate HKEY_Local_Machine\SYSTEM\ CurrentControlSet\

Control\Print\Providers\LanMan Print Services\Servers 2. Add Value (Name: LoadTrustedDrivers, Type: DWORD, Value:

1) 3. Add Value (Name: TrustedDriverPath, Type: REG_SZ, Value:

\\ServerName\ShareName; \\ServerName2\ShareName 4. Exit Regedt32 and restart the machine 5. Relocate the key and save it to a file named trust.key 6. Execute this file on each server on which you’d like to use

trusted paths 7. Install all the print drivers that you’d like to support on one of

the Terminal Servers and copy the ..system32\Spool\Drivers\W32x86\2 directory to a network share

Best Practices

Managing Printer Drivers

Standardize on printers– Not always possible but it is recommended– Hardware life cycle changes are a great candidate– Less Drivers for the spooler to manage

Manage less drivers– Use WTSUPRN to map drivers to a single or minimal

set of drivers– Standardize on printers so you need to manage as

few drivers as possible– Less drivers are easier on the spooler

Best Practices

Managing Printer Drivers (cont’d)

WTSUPRN.inf– File was created to map client driver names to server

driver names

– You can use the format of [ClientName]#[PrinterName] = [Printer Driver Name]

– Also use the format of [ClientName]#[PrinterDriverName] = [Printer Driver Name]

– We’ve got a new one with 500+ drivers 500+ new mappings

– HP, Lexmark, Canon, Epson

Best Practices

WTSUPRN.inf – Thanks to…– Craig Ames(JP Morgan)

– Thomas Pfister (Indiana University)

– John Nelson (Citrix Systems, Inc.)

– Jeffrey McIntyre (National Institute of Standards and Technology)

– Heiko Neuhaus (Debis Systemhaus ITS)

– David Hartmann (Walt Disney)

– Jan Broucinek (Arthur Rutenberg Homes, Inc.)

– Futurelink, Inc.

… For their contributions to a file that will be downloaded a thousand times over today alone.

Printing Fundamentals

Vinny Sosa & Kevin Cox

Americas Systems Engineering Team

October 2000