113

Linux マシン (Slackware) に Java アプリケーションをインストールしようとしています。

次のエラーを受け取りましたが、理解できません。

問題へのアプローチ方法を教えていただけますか?ありがとうございました。

これが私が得たものです:( X11 DISPLAY変数を設定する必要があることがわかりましたが、どの値をどのように指定する必要がありますか?)

~$ java -jar gate-5.0-beta1-build3048-installer.jar
- ERROR -

java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:407)
at java.awt.Frame.<init>(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.<init>(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.<i nit>(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.<init>(MetouiaToolBarBorder.java:49)
at net.sourceforge.mlf.metouia.MetouiaLookAndFeel.ini tComponentDefaults(MetouiaLookAndFeel.java:241)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefault s(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:581)
at com.izforge.izpack.installer.GUIInstaller.loadLook AndFeel(GUIInstaller.java:373)
at com.izforge.izpack.installer.GUIInstaller.<init>(G UIInstaller.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30
at com.izforge.izpack.installer.Installer.main(Instal ler.java:62)
4

10 に答える 10

134

メインディスプレイにいる場合は、

export DISPLAY=:0.0

または、csh または tcsh を使用している場合

setenv DISPLAY :0.0

アプリを実行する前に。

実際、自動的に設定されないことに驚いています。非グラフィック端末からこのアプリケーションを起動しようとしていますか? そうでない場合、デフォルトの .profile、.login、.bashrc、または .cshrc を変更しましたか?

DISPLAY を :0.0 に設定すると、前述のようにメイン ディスプレイに座っているか、少なくともメイン ディスプレイがユーザー ID でログオンしていることを前提としていることに注意してください。ログオンしていない場合、または別のユーザー ID である場合、これは失敗します。

別のマシンから入ってきて、そのマシンのメインディスプレイで X を実行している場合、「ssh -X ホスト名」を使用してそのホストに接続でき、ssh は X ディスプレイを転送します。 . ssh は、DISPLAY 環境変数が正しく設定されていることも確認します (上記のさまざまなドット ファイルで混乱していない場合)。「ssh -X」セッションでは、DISPLAY 環境変数は「localhost:11.0」のような値を持ち、ssh がローカル ボックスにトンネリングしているソケットを指します。

于 2009-03-19T14:30:17.033 に答える
10

これを X11 環境から実行していますか? ターミナル ウィンドウを使用できますが、(グラフィカル ログイン後、または startx を実行して) X 内にある必要があります。

すでにグラフィカル環境にいる場合は、bash のようなシェル (bash、sh など) の場合は export DISPLAY=:0 を、C シェル ベースのシェル (csh、tcsh など) の場合は setenv DISPLAY :0 を試してください。

別のマシンから SSH 経由で接続している場合は、 -X オプションを使用して、座っているマシンにグラフィカル インターフェイスを表示します (ただし、そこで実行されている X サーバー (Windows の xming や標準の Linux X サーバーなど) が必要です)。サーバ)。

于 2009-03-19T14:36:40.293 に答える
10

PuTTy でX11 転送を有効にする必要があります

これを行うには、PuTTy を開き、[接続] => [SSH] => [トンネル] に移動し、[ X11 転送を有効にする]にチェックマークを付けます。

また、サーバーに sudo し、以下の変数をここにエクスポートします。IP はローカル マシンの IP です。

export DISPLAY=10.75.75.75:0.0

ここに画像の説明を入力

于 2016-08-31T13:36:45.183 に答える
5

これを行うには多くの方法があります。私は自分にとって便利な以下のことを行い、常に正常に動作します。

  1. リモート サーバーに xorg-x11-xauth、xorg-x11-font-utils、xorg-x11-fonts をインストールしてください。
  2. ローカル デスクトップで Xming サーバーを実行します。
  3. putty では、サーバーに ssh する前に、X11 転送を有効にし、表示場所を localhost:0.0 に設定します。
  4. サーバー上で .Xauthority ファイルが生成され、DISPLAY 変数が既に設定されていることがわかります。

    $ xauthリスト

    $ xauth 追加

テストするには、xclock または xeyes と入力します。

: ユーザーを切り替えるには、.Xauthority ファイルをそれぞれのユーザーのホーム ディレクトリにコピーし、そのユーザーから DISPLAY 変数をエクスポートします。

于 2019-05-22T18:20:40.743 に答える
4

説明したのと同様のケースで問題になる可能性があるもう1つのこと-「xauth」プログラムがリモート側にインストールされていない場合、Xが転送されず、$ DISPLAYが設定されません。「ssh -Xv ip_address」を実行すると検索され、見つからない場合は失敗することがわかります。これは、冗長モードをオンにしない限り表示されません (IMO の失敗)。通常、「xauth」は同じ名前のパッケージに含まれています。

于 2015-06-15T14:41:59.357 に答える
3

非常に簡単です。この同じ問題があった場合、表示に役立つアプリをダウンロードしてインストールし、エラーを修正しました。

このアプリ xming をダウンロードします。

http://sourceforge.net/project/downloading.php ?

インストールしてから、このリンクの設定を使用します。

http://www.geo.mtu.edu/geoschem/docs/putty_install.htmlまたは次の手順に従います。

PuTTy と Xming のインストールと構成

PuTTy と Xming が PC にダウンロードされたら、それぞれの指示に従ってインストールします。

Xming の設定

Xming をインストールしたら、「XLaunch」というアプリケーションを実行し、設定が次のようになっていることを確認します。

  • [表示設定] ウィンドウで [既定のエントリ] を選択し、[次へ] をクリックします。
  • [セッション タイプ] ウィンドウで [次へ] をクリックします。
  • [追加パラメーター] ウィンドウで [次へ] をクリックします (クリップボードのチェックボックスに注意してください)。
  • 構成を保存し、クリックして終了します。

パテの設定

PuTTy をインストールしたら、デスクトップの PuTTy アイコンをダブルクリックし、次のように構成します。

これは、ログイン プロファイルを作成して保存することを示しています。

  • ssh -> X11 で、チェックボックスをクリックして X11 転送を有効にします。
  • X ディスプレイの場所のテキスト ボックスに、localhost:0.0 と入力します。

プロファイルを保存してから、リモートでサーバーに接続してテストします。

乾杯!!!

于 2016-01-28T09:52:01.710 に答える
0

Byobuターミナル内でスクリプトを起動すると、JDK 8とNetbeansをインストールしようとしたときに、Ubuntu 14.04.01で同じ問題が発生しました(おそらくScreensでも同じことが起こります)。

Byobu を終了し、(グラフィカル ターミナルで) スクリプトを実行します。

于 2014-10-01T10:44:05.977 に答える
0

初期チェック。

1) DISPLAY を他のマシンにエクスポートする場合は、xhost +そのマシンでコマンドを入力したことを確認してください。このコマンドは、他のマシンがこのマシンに自分の DISPLAY をエクスポートできるようにします。セキュリティ上の制約があるかもしれませんが、それについて知っておいてください。チェックssh -X MachineIPする必要はありませんxhost +か?

2) JCONSOLEJVM プロセスが別のユーザーで実行されている可能性があり、別のユーザーで DISPLAY をエクスポートしているため、すべてのプロセスが表示されない場合があります。だからフォローしたほうがいいCD_DIR>sudo ./jconsole

3) WAS (WEBSPHERE); jconsole はその Java サーバー プロセスに接続できません。そのときは、リンクまで行ってから接続してみてください。これは私にとってはうまくいきました。このページがいくつかの変数を初期化して、jconsole がそのサーバーに接続できるようにしている可能性があります。

WAS コンソール > アプリケーション サーバー > server1 > プロセス定義 > Java 仮想マシン


AIX (コマンド ライン インターフェイスのみが使用可能で、DISPLAY UI はありません) マシンでも同じ問題に直面しました。インストールしたら解決しました

Windows 用 NX クライアント

ステップ 1: その Windows マシンを介して、GUI コンソールが使用可能な UNIX ボックスに接続しました。
ステップ 2: UNIX ボックスから AIX ボックスに SSH で接続します。
ステップ 3: 「export DISPLAY=UNIXMACHINE:NXClientPORTConnectedMentionedOnTitle」のよう
に DISPLAY を設定します。 ステップ 4: ここで、DISPLAY を必要とするプログラムを起動するとします。この UNIX ボックスで起動されます。

VNC

表示が可能な UNIX ボックスに VNC をインストールした場合。その場合、Windows および NX クライアントは必要ありません。ステップ 1: VNC を使用して、GUI コンソールが利用可能な Unix ボックスに接続します。
ステップ 2: UNIX ボックスから AIX ボックスに SSH で接続します。
ステップ 3: "export DISPLAY=UNIXMACHINE:VNCPORT" のよう
に DISPLAY を設定します。 ステップ 4: ここで、DISPLAY を必要とするプログラムを起動するとします。この UNIX ボックスで起動されます。

そうしないと

ステップ 1: UNIX ボックスから AIX ボックスに SSH で接続します。
ステップ 2: "export DISPLAY=UNIXMACHINE:VNCPORT" のよう
に DISPLAY を設定します。 ステップ 3: ここで、DISPLAY を必要とするプログラムを起動するとします。この UNIX ボックスで起動されます。

于 2014-12-08T11:49:15.570 に答える
-3

「ホーム」ディスプレイマシンで「host +」を実行することを忘れないでください。マシンにsshするときは、「ssh -x hostname」を実行しています

于 2011-08-25T19:18:15.147 に答える