350 likes | 546 Views
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.
E N D
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
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.inf • 2. Checking <printername> in wtsuprn.inf • 3. Checking <client name>#<printername> in wtsprnt.inf • 4. Checking <printername> in wtsprnt.inf • 5. Checking <client name>#<client print driver name> in wtsuprn.inf • 6. Checking <client print driver name> in wtsuprn.inf • 7. Checking <client name>#<client print driver name> in wtsprnt.inf • 8. Checking <client print driver name > in wtsprnt.inf • 9. <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
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 PSSolaris 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 PrintingThin 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
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 Practices Driver 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