Secure Global Desktop Administration Guide > Printing > Users can't print from applications displayed through Secure Global Desktop

Users can't print from applications displayed through Secure Global Desktop

Follow the checklists for the:

If these don't resolve the problem, follow the steps in Diagnosing other problems below.

There is a separate troubleshooter for problems with Windows 2000/2003 printer preferences and settings.

Client devices

Does Secure Global Desktop support printing for the client device or printer type?

Check the Printing bar on the webtop, does the printer icon contain a red cross and does the message "No Client Printer Available" display. This means that Secure Global Desktop doesn't support printing for this client device or printer type or that there was an error creating client printers.

You may need to examine the printertypes.txt file and customize it.

Classic webtop users:

  • if web browser users see a printer icon containing a red X, they should check the Java™ console for more information.
  • if Sun Secure Global Desktop Native Client users don't see the "Ready to print" message in the status bar, they should select View log from the Webtop menu for more information.
Is printing paused on the client device?

Make sure the user hasn't paused printing. Check the printer paused icon isn't displayed. Printing paused button

In Object Manager, you can also use the Sessions tab on person objects, profile objects or host objects to see whether the user has paused printing. Alternatively, use the tarantella webtopsession listcommand.

Classic webtop users:

  • web browser users should check they haven't pressed the Pause button.
  • Native Client users should check the status bar.
Is the printer configured correctly?

Make sure that the printer is correctly configured, for example by printing a web page to the printer from a web browser on the client device. Depending on the application server, some print jobs can only go to the client device's default printer.

If printing to a UNIX client device, check that you have configured printing for UNIX client.

If you're using Secure Global Desktop PDF printing, is the Adobe® Reader® installed on the client?To be able to use Secure Global Desktop PDF printing, the Adobe Reader must be installed on the client. If it is not installed, the Secure Global Desktop PDF printers ("Universal PDF" and "Print to Local PDF File") won't be available to the user.
Does the user have the necessary registry permissions?On Windows client devices, users must have write access to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG\Seed registry key and read access to the rest of the registry.

This access is required by several of the Windows APIs for printing.

Application servers

Is a printer configured on the application server?

Before users can print, you may need to configure a Secure Global Desktop printer on your application servers:

Is the printer being created on the Windows 2000/2003 application server?If the user is trying to print from a Windows 2000/2003 application server (accessed using Windows Terminal Services) and the user's printers should be configured automatically. If they are not, check the System event log on the application server for the following errors:
  • Event ID: 1111

    Description: Driver drivername required for printer printertype is unknown. Contact the administrator to install the driver before you log in again.
  • Event ID: 1105

    Description: Printer security information for the printername / clientcomputername /Session number could not be set
  • Event ID: 1106

    Description: The printer could not be installed.

These errors indicate that the printer driver may not be supported by the application server. Either install the printer driver on the application server or see Printing from a Windows 2000/2003 application server for details on how to support other printer drivers, including using wildcards to support a wide range of printer driver names.

It is also worth checking that the name of the printer driver in the default.printerinfo.txt (or the user's $HOME/.tarantella/printerinfo.txt) matches the name of the driver on the application server.

If this does not resolve the problem, see the Microsoft Knowledge Base article Q239088 for more details.

Is the application printing to the correct printer?
  • The application must print to the printer you've defined. On UNIX, the prtinstall.en.sh script creates a printer named tta_printer by default.
  • On UNIX, the application should print using the replacement lp or lpr scripts installed by prtinstall.en.sh. The Secure Global Desktop login scripts set PATH to ensure that the replacement scripts take precedence over the system scripts. If the application uses a full pathname, for example /usr/bin/lp, or modifies PATH itself, you should reconfigure the application to use /opt/tarantella/bin/lp or /opt/tarantella/bin/lpr.
Are accounts shared on the application server?

If more than one user is simultaneously logged in to the same application server with the same username, Secure Global Desktop may be unable to distinguish which user owns the print jobs, and discards them (logging that it has done so). This occurs with:

  • UNIX application servers on which the prtinstall.en.sh script has not been run. To fix, run the prtinstall.en.sh script to configure a printer.
  • Microsoft Windows NT 4 application servers accessed using the Microsoft RDP protocol. (Microsoft Windows 2000/2003 application servers are not affected.)

Use the tarantella print command to check that print jobs from the application server printing system have reached the Secure Global Desktop print queue.

Is the Windows name of the server the same as the DNS name?If you have a Windows NT server with a DNS name of naples.indigo-insurance.com and a NetBIOS name of VESUVIUS, print jobs from this server will fail because they contain the host identifier VESUVIUS instead of naples.

You can avoid this problem by editing the file hostnamemap.txt in the /opt/tarantella/etc/data directory. This file allows you to map host names to DNS names. The file contains instructions on how to create the mappings.

If you're using Secure Global Desktop PDF printing, has the same PostScript printer driver been installed on every Windows 2000/2003 application server?

To be able to use Secure Global Desktop PDF printing, you must install the same PostScript printer driver on every Windows 2000/2003 application server. Check that the name of the driver matches the name you typed in the Driver name field on the Array properties panel. The System event log on the application server will show an error if the names do not match.

Secure Global Desktop servers

Is printing paused or disabled across the array?

Use the tarantella print status command to check whether printing is paused or disabled for the array. If necessary, enable printing using tarantella print start or tarantella print resume.

Has the array configuration changed?Printers are not re-configured when you:
  • you create an array,
  • you add a new secondary server to the array, or
  • you change the primary server in the array.

If the array has changed you may to re-configure your printers so that print jobs are sent to the correct printer. Whether you have to re-configure or not, depends on the application server and the change made.

Is Ghostscript available on the Secure Global Desktop host?

Secure Global Desktop PDF printing uses Ghostscript to convert print jobs into PDF files. Secure Global Desktop also uses Ghostscript to convert print jobs from PostScript to PCL.

If the /opt/tarantella/var/log/print.log contains a message like "can't find ps2pdf" or "Consider obtaining Ghostscript from http://www.ghostscript.com", either Ghostscript is not installed or it is installed in a non-standard location.

When you install Secure Global Desktop, Secure Global Desktop Setup automatically detects Ghostscript if it is installed in one of the following locations:

  • /usr/local/bin
  • /usr/bin
  • /opt/sfw/bin
  • /bin
  • /usr/sbin
  • /sbin
  • /usr/lbin

If Ghostscript is installed elsewhere, you must run the prtinstall.en.sh script with the --gsbindir option to tell Secure Global Desktop where to find Ghostscript.

If Ghostscript is not installed, you must install it and then run the prtinstall.en.sh script.

Diagnosing other problems

If the checklists above don't solve the problem, follow these steps.

1. Can you print from the Secure Global Desktop server?

Configure an X or character application to run on the Secure Global Desktop server and display a shell window (for example xterm), and start it from your webtop. Try printing a test page, by running /opt/tarantella/bin/scripts/printtestpage.en.sh. If the page doesn't print, try /opt/tarantella/bin/scripts/printtestpage.en.sh --direct instead, which bypasses the UNIX spooler.

If the first test page prints

The problem is related to the movement of print jobs from the application server to the Secure Global Desktop server.

For UNIX application servers, go to step 3.

For Windows Terminal Services, go to step 5.

If the second test page prints

The problem is related to the UNIX printing system on the host on which Secure Global Desktop is installed. Investigate and fix any problems, using your UNIX system documentation for help. Then try printing again.

If neither test page prints

The problem is related to the Secure Global Desktop server. Go to step 2.

2. Is the Secure Global Desktop printer installed on the Secure Global Desktop server?

In the list of printers on the host, you should see an entry for tta_printer. Consult your UNIX documentation to find out how to display the list of printers. On some systems, this is lpstat -t. If your system has a file /etc/printcap, this contains a list of printers in plain text format.

If tta_printer is present

The problem is related to the movement of print jobs from the Secure Global Desktop server to the client device. Go to step 7.

If tta_printer is not present

Run the prtinstall.en.sh script on the Secure Global Desktop server. Then try printing again.

3. Is the print job leaving the UNIX application server?

Using an application object configured to display a shell window on the UNIX application server, try printing a small text file to the Secure Global Desktop printer. For example, type lp -d tta_printer /etc/hosts.

If the lp command returns an error message

Check that the UNIX server is configured to print through Secure Global Desktop. You may need to run the prtinstall.en.sh script.

If the lp command returns a print job ID

This suggests that Secure Global Desktop printing is correctly configured, but the problem may lie in the UNIX system. Go to step 4.

4. Is the print job present in the UNIX spool directory?

The print spool directory varies between different UNIX systems. Consult your UNIX system documentation for assistance.

If the job is present

There may be a network problem between the application server and Secure Global Desktop server. Go to step 6.

If the job is not present

Check your UNIX LPD printing configuration. For example, ensure that there are suitable entries in /etc/hosts.equiv or /etc/hosts.lpd, and that there are no deny files, such as /etc/hosts.equiv.deny. Check that the lpd daemon is running (ps -ef | grep lpd on most systems -- check your system documentation for the correct arguments to the ps command) and listening (netstat -a | grep printer). Then try printing again.

5. Is the print job leaving the Windows Terminal Services application server?

Check the print queue on the application server. Consult your system documentation if you need help.

If the print job is leaving the application server

There may be a network problem between the application server and Secure Global Desktop server. Go to step 6.

If the print job is not leaving the application server
  • Check the configuration of the Secure Global Desktop printer.
  • Check that you can ping and telnet to the Secure Global Desktop server from the application server.
  • Look for errors in the Event Log.
  • From a command prompt, try typing lpr -s server -p tta_printer filename to print. If this works, this suggests the printer driver on the application server is not installed or configured correctly.

6. Is the print job reaching the Secure Global Desktop server?

Check the Secure Global Desktop print spool directories on the Secure Global Desktop server: /opt/tarantella/var/spool and /opt/tarantella/var/print/queue.

If the print job is present
  • Check that you're using fully qualified DNS names in the application object, and that name resolution is working correctly.
  • Examine the printing log files for more information. Go to step 7.
If the print job isn't present
  • Check your UNIX LPD printing configuration. For example, ensure that there are suitable entries in /etc/hosts.equiv or /etc/hosts.lpd, and that there are no deny files, such as /etc/hosts.equiv.deny.
  • Check that the lpd daemon is running (ps -ef | grep lpd) and listening (netstat -t | grep lpd).
  • Check that you can ping and telnet to the Secure Global Desktop server from the application server.
  • Windows Terminal Services: From a command prompt, try typing lpr -s server -p tta_printer filename to print. If this works, this suggests the printer driver on the application server is not installed or configured correctly.

7. Examine the print log files

You can use the tarantella query command to examine the logs across the array. Log files are stored in /opt/tarantella/var/log on each array member.

If the print log files are empty, you need to edit the Log Filter to log printing messages. In Array Manager, display the Array properties panel and add the following log filters:

server/printing/*:print%%PID%%.log
server/printing/*:print%%PID%%.jsl

If the log contains messages indicating problems with username mappings, this suggests you may be using shared accounts on the application server. See Are accounts shared on the application server? above.

Related topics