Skip past navigation linksSecure Global Desktop 4.31 Administration Guide > Printing > Users cannot print from applications displayed through Secure Global Desktop

Users cannot print from applications displayed through Secure Global Desktop

Follow the checklists for the:

If these do not 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

What to check Description
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 does not support printing for this client device or printer type or that there was an error creating client printers.

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 do not 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 has not paused printing. Check the printer paused icon is not displayed.

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 list command.

Classic webtop users:

  • Web browser users should check they have not 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, Linux or Mac OS X client device, check that you have configured printing for these client types.

For PDF printing, is the PDF viewer installed on the client? To be able to use Secure Global Desktop PDF printing, a PDF viewer must be installed on the client device.

Check that the supported viewer or the user's preferred viewer is installed on the client and that the application is executable.

On UNIX/Linux/Mac OS X client devices, check that the user has read and write access to the /tmp directory. If the PDF viewer is Adobe Reader (acroread), check that the viewer supports the -openInNewWindow command option. If the PDF viewer is Preview app (/Applications/preview.app), check that the viewer supports the open -a command option.

If it is not installed or accessible, the Secure Global Desktop PDF printers will not be available to the user.

For PDF printing from a UNIX/Linux application server, is the print job in the right format? If the user's PDF viewer starts, but they receive a file format error, check that the format of the file being printed on a UNIX/Linux application server is Postscript.
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

What to check Description
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/Linux, the prtinstall.en.sh script creates a printer named tta_printer by default.
  • On UNIX/Linux, 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/Linux 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.

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

What to check Description
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.
For printing on Windows client devices, has access to client printers been disabled? Check the settings on the Printing properties panel in Array Manager to see whether users can access all their client printers, just their default client printer, or no client printers. These settings can be overridden by the settings on the Printing panel for organization, organizational unit or person objects in Object Manager. For PDF printing, check whether the Secure Global Desktop PDF printers have been enabled.
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.
  • 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.

For PDF printing, 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 do not 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 does not print, try /opt/tarantella/bin/scripts/printtestpage.en.sh --direct instead, which bypasses the UNIX/Linux spooler.

What to check Description
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/Linux 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/Linux printing system on the host on which Secure Global Desktop is installed. Investigate and fix any problems, using your UNIX/Linux 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/Linux 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.

What to check Description
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/Linux application server?

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

What to check Description
If the lp command returns an error message Check that the UNIX/Linux 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/Linux system. Go to step 4.

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

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

What to check Description
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/Linux 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.

What to check Description
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.

What to check Description
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 is not present
  • Check your UNIX/Linux 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:

Skip past command syntax or program codeserver/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