過去のナビゲーションリンクのスキップSecure Global Desktop 4.31 管理者ガイド > 印刷 > Secure Global Desktop を使って表示したアプリケーションからユーザーが印刷できない場合

Secure Global Desktop を使って表示したアプリケーションからユーザーが印刷できない場合

次の各項目のチェックリストに従ってください。

それでも問題を解決できない場合は、そのあとの「その他の問題を診断する」の手順に従ってください。

Windows 2000/2003 のプリンタ設定の問題については、このトピックを参照してください。

クライアントデバイス

確認項目 説明
そのクライアントデバイスまたはプリンタタイプでの印刷は Secure Global Desktop でサポートされていますか。 Webtop の「印刷中」バーのプリンタアイコンに赤い×印が付き、「利用可能なクライアントプリンタなし」というメッセージが表示されているかどうかを確認します。これは、このクライアントデバイスまたはプリンタタイプでの印刷が Secure Global Desktop でサポートされていないか、クライアントプリンタの作成中にエラーが発生したことを意味します。

旧 Webtop ユーザーの場合

  • 赤い×印が付いたプリンタアイコンが Web ブラウザに表示されている場合は、Java コンソールで詳細情報を確認してください。
  • Sun Secure Global Desktop Native Client のステータスバーに「プリンタは準備できています」というメッセージが表示されていない場合は、「Webtop」メニューから「ログを見る」を選択して詳細情報を確認してください。
クライアントデバイスで印刷が一時停止されていませんか。 印刷が一時停止されていないことを確認します。プリンタの一時停止中アイコンが表示されていないことを確認してください。

Object Manager では、印刷が一時停止しているかどうかを確認するために、人物オブジェクト、プロファイルオブジェクト、またはホストオブジェクトの「Sessions」タブを使用することもできます。tarantella webtopsession list コマンドを使用することもできます。

旧 Webtop ユーザーの場合

  • Web ブラウザを使用しているときは、「一時停止」ボタンが押されていないことを確認してください。
  • Native Client を使用しているときは、ステータスバーを確認してください。
プリンタが正しく設定されていますか。 プリンタが正しく設定されていることを確認するために、クライアントデバイスの Web ブラウザから Web ページをプリンタに印刷するなどの操作をしてみてください。アプリケーションサーバーによっては、一部の印刷ジョブはクライアントデバイスのデフォルトプリンタにしか印刷できない場合があります。

UNIX、Linux、または Mac OS X のクライアントデバイスに印刷する場合は、これらのクライアントタイプ用の印刷を設定したことを確認してください。

PDF 印刷を行う場合、クライアントに PDF ビューアがインストールされていますか。 Secure Global Desktop PDF 印刷を使用するには、クライアントデバイスに PDF ビューアがインストールされている必要があります。

サポートされているビューアまたはユーザーのお気に入りのビューアがクライアントにインストールされていること、およびそのビューアが実行可能であることを確認します。

UNIX/Linux/Mac OS X クライアントデバイス上で、ユーザーが /tmp ディレクトリに対する読み取り/書き込みアクセス権を持っていることを確認します。PDF ビューアが Adobe Reader (acroread) の場合、ビューアが -openInNewWindow コマンドオプションをサポートしていることを確認します。PDF ビューアが Preview app (/Applications/preview.app) の場合、ビューアが open -a コマンドオプションをサポートしていることを確認します。

ビューアがインストールされていないか、ビューアにアクセスできない場合、ユーザーは Secure Global Desktop PDF プリンタを使用できません。

UNIX/Linux アプリケーションサーバーから PDF 印刷を行う場合、印刷ジョブは適切な形式になっていますか。 ユーザーの PDF ビューアが起動するとファイル形式エラーが表示される場合は、UNIX/Linux アプリケーションサーバーで印刷中のファイルが Postscript であることを確認してください。
そのユーザーは必要なレジストリ権限を持っていますか。 Windows クライアントデバイスを使用するには、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG\Seed レジストリキーへの書き込みアクセス権と、レジストリの残りの部分への読み取りアクセス権が必要です。

このアクセス権は、印刷用の Windows API のいくつかで必要になります。

アプリケーションサーバー

確認項目 説明
アプリケーションサーバー上にプリンタが設定されていますか。 ユーザーが印刷できるようにするには、アプリケーションサーバー上での Secure Global Desktop プリンタの設定が必要な場合があります。
Windows 2000/2003 アプリケーションサーバー上にプリンタが作成されますか。 Windows ターミナルサービスを使用して Windows 2000/2003 アプリケーションサーバー経由で印刷しようとしたユーザーには、プリンタが自動的に設定されるはずです。 そのようにならない場合は、アプリケーションサーバーの System イベントログで次のエラーを確認してください。
  • 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.

これらのエラーは、このプリンタドライバがアプリケーションサーバーでサポートされていない可能性があることを示しています。このプリンタドライバをアプリケーションサーバーにインストールするか、または他のプリンタドライバのサポート方法について「Windows 2000/2003 アプリケーションサーバーからの印刷」を参照してください。ワイルドカードを使用して複数のプリンタドライバ名をサポートする方法も説明されています。

default.printerinfo.txt (またはユーザーの $HOME/.tarantella/printerinfo.txt) 内のプリンタドライバ名がアプリケーションサーバー上のドライバ名と一致していることも確認することをお勧めします。

それでも問題を解決できない場合は、詳細について Microsoft サポート技術情報の記事 Q239088 を参照してください。

アプリケーションが正しいプリンタに印刷していますか。
  • アプリケーションは管理者が定義したプリンタに印刷します。UNIX/Linux の場合、prtinstall.en.sh スクリプトにより tta_printer というプリンタがデフォルトで作成されます。
  • UNIX/Linux の場合、アプリケーションは prtinstall.en.sh スクリプトによってインストールされた lp 置換スクリプトか lpr 置換スクリプトを使用して印刷します。Secure Global Desktop ログインスクリプトは、環境変数 PATH を設定して、置換スクリプトをシステムスクリプトよりも優先するようにします。アプリケーションが完全パス名 (たとえば、/usr/bin/lp) を使用している場合、または PATH 自体を変更している場合、アプリケーションを再設定して、/opt/tarantella/bin/lp/opt/tarantella/bin/lpr を使用する必要があります。
アプリケーションサーバー上でアカウントが共有されていますか。 同時に複数のユーザーが同じユーザー名で同じアプリケーションサーバーにログインすると、Secure Global Desktop はどのユーザーが印刷ジョブを所有しているかを区別できなくなり、印刷ジョブを破棄することがあります (ログを参照)。この状態は、UNIX/Linux アプリケーションサーバーで、prtinstall.en.sh スクリプトが実行済みでない場合に発生します。この状態を解決するには、prtinstall.en.sh スクリプトを実行してプリンタを設定します。

tarantella print コマンドを使用して、アプリケーションサーバーの印刷システムから送信された印刷ジョブが Secure Global Desktop 印刷キューに届いていることを確認してください。

サーバーの Windows 名は DNS 名と同じですか。 Windows NT サーバーの DNS 名が naples.indigo-insurance.com で、NetBIOS 名が VESUVIUS の場合、このサーバーの印刷ジョブに含まれるホスト識別子は naples ではなく VESUVIUS になるので、この印刷ジョブは失敗します。

/opt/tarantella/etc/data ディレクトリの hostnamemap.txt ファイルを編集することにより、この問題を回避できます。このファイルでホスト名と DNS 名を対応付けることができます。マッピングの作成方法については、ファイルに説明されています。

Secure Global Desktop PDF 印刷を使用する場合は、すべての Windows 2000/2003 アプリケーションサーバーに同じ PostScript プリンタドライバがインストールされていますか。 Secure Global Desktop PDF 印刷を使用するには、すべての Windows 2000/2003 アプリケーションサーバーに同じ PostScript プリンタドライバをインストールする必要があります。ドライバ名が、「Array Properties」パネルの「Driver name」フィールドに入力した名前と一致していることを確認してください。名前が一致していない場合は、アプリケーションサーバーの System イベントログにエラーが表示されます。

Secure Global Desktop サーバー

確認項目 説明
アレイ全体で印刷が一時停止中または無効になっていませんか。 tarantella print status コマンドを使用して、アレイの印刷が一時停止中または無効になっているかどうかを確認します。必要に応じて、tarantella print start コマンドまたは tarantella print resume コマンドを使用して印刷を有効にします。
Windows クライアントデバイス上で印刷を行う場合、クライアントプリンタへのアクセスが無効になっていませんか。 Array Manager の「Printing properties」パネルの設定を参照して、ユーザーがすべてのクライアントプリンタにアクセスできるのか、デフォルトのクライアントプリンタにのみアクセスできるのか、クライアントプリンタに一切アクセスできないのかを確認します。これらの設定は、Object Manager の組織組織単位、または人物オブジェクトの「Printing」パネルの設定で上書きできます。PDF 印刷を行う場合は、Secure Global Desktop PDF プリンタが有効になっていることを確認します。
アレイの設定が変更されていますか。 次の操作を行なっても、プリンタは再設定されません。
  • アレイを作成したとき。
  • 新規のセカンダリサーバーをアレイに追加したとき。
  • アレイのプライマリサーバーを変更したとき。

アレイを変更した場合は、印刷ジョブを正しいプリンタに送るために、プリンタの再設定が必要になることがあります。再設定する必要があるかどうかは、アプリケーションサーバーと変更の内容によって決まります

PDF 印刷を行う場合、Ghostscript を Secure Global Desktop ホスト上で使用できますか。 Secure Global Desktop PDF 印刷では、Ghostscript を使用して印刷ジョブが PDF ファイルに変換されます。Secure Global Desktop では、印刷ジョブを PostScript から PCL に変換するためにも、Ghostscript を使用します。

/opt/tarantella/var/log/print.log に「can't find ps2pdf」や「Consider obtaining Ghostscript from http://www.ghostscript.com」などのメッセージが含まれている場合は、Ghostscript がインストールされていないか、標準以外の場所にインストールされています。

Secure Global Desktop をインストールするときに、Ghostscript が次のいずれかの場所にインストールされている場合は Secure Global Desktop セットアップ によって自動的に検出されます。

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

Ghostscript がこれ以外の場所にインストールされている場合は、Secure Global Desktop に Ghostscript を検索させる場所を --gsbindir オプションで指定して、prtinstall.en.sh スクリプトを実行する必要があります。

Ghostscript がインストールされていない場合は、Ghostscript をインストールしてから prtinstall.en.sh スクリプトを実行する必要があります。

その他の問題を診断する

上記のチェックリストで問題を解決できない場合は、次の手順に従ってください。

1. Secure Global Desktop サーバーから印刷できますか。

X アプリケーションまたは文字型アプリケーションを、Secure Global Desktop サーバー上で稼働してシェルウィンドウ (たとえば xterm) を表示するように設定し、Webtop から起動します。/opt/tarantella/bin/scripts/printtestpage.en.sh を実行して、テストページを印刷してみます。テストページが印刷されない場合、/opt/tarantella/bin/scripts/printtestpage.en.sh --direct を代わりに実行して、UNIX/Linux のスプーラを使用しないようにします。

確認項目 説明
1 番目でテストページが印刷された場合 この問題は、アプリケーションサーバーから Secure Global Desktop サーバーへの印刷ジョブの移動に関連しています。
UNIX/Linux アプリケーションサーバーの場合、手順 3 に進みます。
Windows ターミナルサービスの場合、手順 5 に進みます。
2 番目でテストページが印刷された場合 この問題は、Secure Global Desktop がインストールされているホスト上の UNIX/Linux 印刷システムに関連しています。使用している UNIX/Linux システムのマニュアルを参照し、問題を調査して解決してください。その後、もう一度印刷してみます。
どちらの方法でもテストページが印刷されない場合 この問題は、Secure Global Desktop サーバーに関連しています。手順 2 に進みます。

2. Secure Global Desktop プリンタが Secure Global Desktop サーバーにインストールされていますか。

ホスト上のプリンタのリストに、tta_printer のエントリが表示されるはずです。プリンタのリストの表示方法については、使用している UNIX/Linux のマニュアルを参照してください。一部のシステムでは、lpstat -t です。使用しているシステムに /etc/printcap ファイルがある場合、このファイルにはプレーンテキスト形式でプリンタのリストが記載されています。

確認項目 説明
tta_printer が存在する場合 この問題は、Secure Global Desktop サーバーからクライアントデバイスへの印刷ジョブの移動に関連しています。手順 7 に進みます。
tta_printer が存在しない場合 Secure Global Desktop サーバー上で prtinstall.en.sh スクリプトを実行します。その後、もう一度印刷してみます。

3. 印刷ジョブが UNIX/Linux アプリケーションサーバーから送信されていますか。

UNIX/Linux アプリケーションサーバー上でシェルウィンドウを表示するよう設定されているアプリケーションオブジェクトを使って、容量の小さいテキストファイルを Secure Global Desktop プリンタに印刷してみます。たとえば、lp -d tta_printer /etc/hosts コマンドを入力します。

確認項目 説明
lp コマンドがエラーメッセージを返す場合 UNIX/Linux サーバーが Secure Global Desktop を使って印刷するよう設定されているか確認します。prtinstall.en.sh スクリプトの実行が必要な場合があります。
lp コマンドが印刷ジョブ ID を返す場合 これは、Secure Global Desktop の印刷は正しく設定されているが、UNIX/Linux システムのどこかに問題がある可能性を示しています。手順 4 に進みます。

4. 印刷ジョブが UNIX/Linux スプールディレクトリに存在しますか。

印刷スプールディレクトリは、UNIX/Linux システムによって異なります。詳細については、使用している UNIX/Linux システムのマニュアルを参照してください。

確認項目 説明
ジョブが存在する場合 アプリケーションサーバーと Secure Global Desktop サーバーの間のネットワークに問題があると考えられます。手順 6 に進みます。
ジョブが存在しない場合 UNIX/Linux の LPD 印刷の設定を調べます。たとえば、/etc/hosts.equiv ファイルまたは /etc/hosts.lpd ファイルに適切なエントリがあることと、/etc/hosts.equiv.deny など拒否ファイルがないことを確認します。lpd デーモンについて、稼働しているかどうかを調べ (多くのシステムでは ps -ef | grep lpdps コマンドの正しい引数については、使用しているシステムのマニュアルを参照)、また、待機しているかどうかを調べます (netstat -a | grep printer)。その後、もう一度印刷してみます。

5. 印刷ジョブが Windows ターミナルサービスのアプリケーションサーバーから送信されていますか。

アプリケーションサーバー上の印刷キューを調べます。ヘルプが必要な場合は、使用しているシステムのマニュアルを参照してください。

確認項目 説明
印刷ジョブがアプリケーションサーバーから送信されている場合 アプリケーションサーバーと Secure Global Desktop サーバーの間のネットワークに問題があると考えられます。手順 6 に進みます。
印刷ジョブがアプリケーションサーバーから送信されていない場合
  • Secure Global Desktop プリンタの設定を調べます。
  • アプリケーションサーバーから Secure Global Desktop サーバーに ping および telnet できるか調べます。
  • イベントログにエラーが記録されているかどうかを調べます。
  • コマンドプロンプトで、lpr -s server -p tta_printer filename コマンドを入力して印刷してみます。これが機能する場合、アプリケーションサーバー上のプリンタドライバがインストールされていないか、正しく設定されていないものと考えられます。

6. 印刷ジョブが Secure Global Desktop サーバーに届いていますか。

Secure Global Desktop サーバー上の Secure Global Desktop 印刷スプールディレクトリ /opt/tarantella/var/spool/opt/tarantella/var/print/queue を調べます。

確認項目 説明
印刷ジョブが存在する場合
  • アプリケーションオブジェクト内で完全修飾 DNS 名を使用しており、名前解決が正確に機能しているかどうかを調べます。
  • 詳細については、印刷ログファイルを調べます。手順 7 に進みます。
印刷ジョブが存在しない場合
  • UNIX/Linux の LPD 印刷の設定を調べます。たとえば、/etc/hosts.equiv ファイルまたは /etc/hosts.lpd ファイルに適切なエントリがあることと、/etc/hosts.equiv.deny など拒否ファイルがないことを確認します。
  • lpd デーモンが稼働しているか調べ (ps -ef | grep lpd)、待機しているか調べます (netstat -t | grep lpd)。
  • アプリケーションサーバーから Secure Global Desktop サーバーに ping および telnet できるか調べます。
  • Windows ターミナルサービスの場合、コマンドプロンプトで、lpr -s server -p tta_printer filename コマンドを入力して印刷してみます。これが機能する場合、アプリケーションサーバー上のプリンタドライバがインストールされていないか、正しく設定されていないものと考えられます。

7. 印刷ログファイルの調査

tarantella query コマンドを使って、アレイ全体のログを調査できます。ログファイルは、アレイの各メンバー上の /opt/tarantella/var/log に格納されています。

印刷ログファイルが空の場合、「Log Filter」を編集して、印刷メッセージのログを出力する必要があります。Array Manager で、「Array properties」パネルを表示し、次のログフィルタを追加します。

過去のコマンド構文またはプログラムコードのスキップserver/printing/*:print%%PID%%.log
server/printing/*:print%%PID%%.jsl

ログにユーザー名マッピングに関する問題を示すメッセージが含まれている場合、アプリケーションサーバー上で共有アカウントを使用している可能性があります。上記の「アプリケーションサーバー上でアカウントが共有されていますか。」を参照してください。

関連トピック