0

PuTTY を介して UNIX サーバーで Java ユーティリティを実行しようとしています。この JAVA ユーティリティは、GUI を起動します。次のコマンドを使用してこのユーティリティを実行すると

./DAVTree.sh

次のエラーが表示されます

    Exception in thread "main" java.awt.HeadlessException: 
    No X11 DISPLAY variable was set, but this program performed an operation 
    which requires it.

    at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)
    at java.awt.Window.<init>(Unknown Source)
    at java.awt.Frame.<init>(Unknown Source)
    at java.awt.Frame.<init>(Unknown Source)
    at javax.swing.JFrame.<init>(Unknown Source)
    at com.sas.services.webdav.tools.DAVTree.<init>(DAVTree.java:319)
    at com.sas.services.webdav.tools.DAVTree.main(DAVTree.java:944) 

インターネットで問題を検索しましたが、X11 Forwardingそれが何であるかわからないという問題がありましたが、グーグルで提案に従ったので、PuTTY以下で新しいセッションを作成しました

Connection > SSH > X11はい、チェックしましたEnable X11 Forwarding

ここに画像の説明を入力

ユーティリティを再度実行すると、エラー\例外メッセージが変更されました。

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window  

server using 'localhost:10.0' as the value of the DISPLAY variable.

at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$100(Unknown Source)
at sun.awt.X11GraphicsEnvironment$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at com.sas.services.webdav.tools.DAVTree.<init>(DAVTree.java:319)
at com.sas.services.webdav.tools.DAVTree.main(DAVTree.java:944)

これで、DISPLAY 変数が設定されていないと表示されます。だから私はこれを試します

export DISPLAY=kcsclm92:7001

kcsclm:7001 が私のサーバーになります。この後、ユーティリティを実行すると、次の違いだけで同じエラーが発生します

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window  

server using 'kcsclm92:7001' as the value of the DISPLAY variable.

この後、私はすでにブラインドで働いていました。これ以上試すことはありません。助けてください。

ps (SAS を知っている人向け) UNIX サーバーに SAS を配置しており、DAVTree ユーティリティを実行しようとしています。

4

1 に答える 1

1

ローカルの Windows マシンで実行されている X "サーバー" が必要です。(はい、用語がわかりにくいです)。http://mobaxterm.mobatek.net/ を試す

正しい DISPLAY 設定は Putty によって自動的に作成されるため、変更しないでください (localhost:10ほぼ正しいように聞こえます)。

于 2015-03-25T08:48:42.317 に答える