web-dev-qa-db-ja.com

64ビットSLES11マシンはCitrixでJavaグラフィカルアプリを実行できません

さまざまな構成のラボマシンが多数あります。ユーザーの1人がJava jconsoleなどのアプリケーションを実行しようとすると、起動しているように見えますが、ディスプレイ転送は行われず、ウィンドウも表示されません。これらの条件下では失敗します。 :

  • サーバーへの64ビットSuseSLES11のインストール
  • クライアントはCitrixを介してサーバーにアクセスします
  • アプリケーションはJavaアプリケーションです

これらのいずれかを変更すると、機能します。 64ビットSLES10マシンが動作し、32ビットSLES11マシンが動作し、cygwin/linuxが動作する64ビットSLES11マシンにアクセスし、Javaアプリケーションが動作します。

Citrixでのディスプレイ転送に影響を与える可能性のあるSLES10からSLES11へのSuSEの変更はありますか?

場合によっては、さまざまな時間が経過すると、次のスタックトレースでクラッシュすることがあります。

Exception in thread "main" Java.lang.NoClassDefFoundError: Could not initialize class Sun.awt.X11GraphicsEnvironment 
    at Java.lang.Class.forName0(Native Method) 
    at Java.lang.Class.forName(Class.Java:169) 
    at Java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.Java:68) 
    at Sun.awt.X11.XToolkit.<clinit>(XToolkit.Java:89) 
    at Java.lang.Class.forName0(Native Method) 
    at Java.lang.Class.forName(Class.Java:169) 
    at Java.awt.Toolkit$2.run(Toolkit.Java:834) 
    at Java.security.AccessController.doPrivileged(Native Method) 
    at Java.awt.Toolkit.getDefaultToolkit(Toolkit.Java:826) 
    at Sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.Java:128) 
    at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.Java:1556) 
    at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.Java:130) 
    at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.Java:1591) 
    at javax.swing.UIManager.setLookAndFeel(UIManager.Java:542) 
    at javax.swing.UIManager.setLookAndFeel(UIManager.Java:582) 
    at javax.swing.UIManager.initializeDefaultLAF(UIManager.Java:1344) 
    at javax.swing.UIManager.initialize(UIManager.Java:1433) 
    at javax.swing.UIManager.maybeInitialize(UIManager.Java:1421) 
    at javax.swing.UIManager.getLookAndFeel(UIManager.Java:495) 
    at Sun.tools.jconsole.JConsole.updateLafValues(JConsole.Java:63) 
    at Sun.tools.jconsole.JConsole.<clinit>(JConsole.Java:58) 
Could not find the main class: Sun.tools.jconsole.JConsole.  Program will exit. 

更新:まだ同じ問題がありますが、別のグラフィックライブラリに変更すると、問題が変わるようです:

export Java_HOME=/usr/Java/default
export PJA=$HOME/lib/pja.jar
jconsole -J-Xbootclasspath:$Java_HOME/jre/lib/rt.jar:$PJA -J-Dawt.toolkit=com.eteks.awt.PJAToolkit -version

これにより、以前は作成されなかったバージョンが作成されます。ただし、プログラムはまだ実行できません。

1
Stefan Thyberg

これはようやく解決されたので、非常に珍しいので、同じ問題にぶつかった他の人のためにこの答えをここに残しておきます。 Citrixは、これが自社製品の問題であることを認識し、この問題のパッチをリリースしました。

Citrixのサービスリクエスト番号は60235154で、パッチは2011 Q1 Feature Packv3に含まれます。

1
Stefan Thyberg