Java 确定应用程序是否在远程系统上运行

Java 确定应用程序是否在远程系统上运行,java,remote-desktop,jogl,citrix,Java,Remote Desktop,Jogl,Citrix,我正在使用一个Java webstart应用程序,如果我们在远程系统(如Citrix或rdesktop)上运行,我们将尝试在应用程序启动时禁用JOGL 我有禁用JOGL的代码,但我很难确定它何时在Citrix上运行。系统属性似乎与从本地计算机运行应用程序的相同 任何想法或建议都会有帮助 感谢请查看我之前的答案,以了解确定您的产品是否在Citrix XenApp会话中运行的方法。使用上面Helge的链接,我能够识别一个可以在Java中测试的环境变量 String SESSION_NAME_KEY

我正在使用一个Java webstart应用程序,如果我们在远程系统(如Citrix或rdesktop)上运行,我们将尝试在应用程序启动时禁用JOGL

我有禁用JOGL的代码,但我很难确定它何时在Citrix上运行。系统属性似乎与从本地计算机运行应用程序的相同

任何想法或建议都会有帮助


感谢

请查看我之前的答案,以了解确定您的产品是否在Citrix XenApp会话中运行的方法。

使用上面Helge的链接,我能够识别一个可以在Java中测试的环境变量

String SESSION_NAME_KEY = "SESSIONNAME";
String sessionname = System.getenv(SESSION_NAME_KEY);

if(sessionname != null && 
     (sessionname.startsWith("ICA") || sessionname.startsWith("RDP")))
    //Disable JOGL

我不确定这是否涵盖了所有情况,但它应该适用于我正在寻找的东西。

这是一个JWS应用程序,它可能在我的Linux或Mac box上运行,在这种情况下,WTSQuerySessionInformation不存在。我们在Linux box上运行,除了windows。