• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gsコマンドでエラー)

gsコマンドでエラーが発生する原因と対処法

このQ&Aのポイント
  • TeraTermでCentOSに接続してgsコマンドを実行すると「GPL Ghostscript 8.70: Cannot open X display `(null)'.」というエラーが表示されます。
  • このエラーは、gsコマンドが表示デバイスを利用できないために発生します。
  • 解決するためには、gsコマンドを実行する際に表示デバイスを指定する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#208507
noname#208507
回答No.4

> ネットで調べてみたんですがXmingとTeraTermの連携っていうか?設定がよくわかりませんでした。 1つ考えられるのは、TeraTermのメニューの「設定」-「SSH転送」の設定ダイアログを開くと表示される、「リモートの(X)アプリケーションをローカルのXサーバに表示する」の項目のチェックが入っているか、という点です。チェックが外れていたら、入れておいてください。 あるいは、もしTeraTermからTelnet接続しているならSSHでCentOSに接続してみてください。 またCentOS側でプログラムを実行する前に、あらかじめXmingを起動しておいてください。起動しても一見何の変化もありませんが、Xサーバとして裏で待機しています。

その他の回答 (5)

noname#208507
noname#208507
回答No.6

おおっ、失礼。自分の回答への補足しか見ていませんでした。 #5さんの言うとおりです。 表示が目的でないなら、Xサーバをインストールするのはアプローチそのものが間違っています。GhostscriptはデフォルトでXに表示しようとするので、EPSファイルに変換するなら出力フォーマットを下のように変更する必要があります。 gs -q -dBATCH -dNOPAUSE -sDEVICE=epswrite -sOutputFile=[出力先epsファイル名] [入力PDFファイル名] しかしこれを毎回指定するのは面倒なので、pdf2ps のような Ghostscript を適切に実行してくれる出来合いのソフトを使った方がよいでしょう。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

ん~, http://ubuntuforums.org/showthread.php?t=1159624 は参考になりませんかねぇ.

noname#208507
noname#208507
回答No.3

少なくとも、私が下の環境で試した限りでは gs で Postscript ファイルを正常に表示できました。単にXサーバを起動した状態で CentOS に TeraTerm でログインし、$ gs (psファイル名) のようにコマンドを実行しただけです。 CentOS 6.3 (64 bit)  Ghostscript 8.70 Windows 7 (64 bit)  TeraTerm 4.73  Xming 6.9.0 Windows 側の Xサーバを終了して CentOS 側で環境変数 DISPLAY を消去すると、gs を実行したとき質問者さんと全く同じエラーメッセージが表示されます。やはり #2 さんの言うとおり、Xサーバが用意できていないのではないでしょうか?

edo_1972
質問者

補足

返答が遅くなってすみません。 また回答、ありがとうございます。 ulisrtさんの同じようにWindowsにXサーバをインストールみました。 Xmingを起動してTeraTermでCentOSに接続してgsコマンドを実行してみましたが結果は同じでした。 ネットで調べてみたんですがXmingとTeraTermの連携っていうか?設定がよくわかりませんでした。 大変、申し訳ありませんがXmingとTeraTermの設定を教えていただけませんでしょうか。 宜しくお願いします。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

> Cannot open X display `(null)'. > **** Unable to open the initial device, quitting と言っているのだから 「X Windowを使おうとしたけど、displayがnull(指定されてない)ので不可能だった」 ということです。 とりあえずの解決策は「適切な出力先を設定すること」です。 なにが「適切」なのかは、あなたがやりたいこと次第です。 TeraTermということはWindowsでしょうか? gsの表示をWindows上にしたいのなら、Windows側でXサーバを用意する必要がありますが、それはできているのでしょうか?

edo_1972
質問者

補足

返答が遅くなってすみません。 また回答、ありがとうございます。 説明不足で申し訳ありません。 > TeraTermということはWindowsでしょうか? はい。 > gsの表示をWindows上にしたいのなら、Windows側でXサーバを用意する必要がありますが、それはできているのでしょうか? PHP上でexec関数を実行して変換(PDF→EPS)のみ行うプログラムを作成したいと思っていますので表示したいとは思っていません。 また開発サーバ(CentOS)はGUI環境が必要なかったので「X Window System」をインストールしていません。これが原因なのでしょうか。 もう少し私にお付き合いいただけませんでしょうか。 宜しくお願いします。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

このメッセージは gs が出しているわけだから, 「gs コマンドの実行」そのものはできています. あなたが何を期待しているのか知りませんが.

edo_1972
質問者

補足

返答が遅くなってすみません。 また回答、ありがとうございます。 説明不足で申し訳ありません。 やりたい事はCentOS上にアップロードしたPDFファイルをEPSファイルに変換したいと思っています。それでネットで調べていたら「Ghostscript」を知りました。 開発サーバに「Ghostscript」がインストールされていたので「Ghostscript」のコマンド(gs)が実行できるか試しに実行したら質問したメッセージが出力された次第です。 もう少し私にお付き合いいただけませんでしょうか。 宜しくお願いします。

関連するQ&A