Java-приложение и пересылка x11

Мне нужно запустить Jperf на виртуальном сервере. Я настроил пересылку X11 через ssh. xclock - работает. Но если я запускаю jperf, я получаю:

    user @ client-32: ~ / sandbox / jperf-2.0.2 $ sh jperf.sh
    Исключение в потоке "main" java.lang.ExceptionInInitializerError
    Вызвано: java.awt.HeadlessException
            at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
            at net.nlanr.jperf.JPerf.(Неизвестный источник)

Java-версия:

    Java-версия "1.7.0_03"
    Среда выполнения OpenJDK (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu3)
    OpenJDK Client VM (сборка 22.0-b10, смешанный режим, совместное использование)

uname -a:

`Linux client-32 3.2.0-29-generic-pae # 46-Ubuntu SMP пт 27 июля 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux

Задача решена

Нужно добавить -Djava.awt.headless=true в jperf.sh должно быть так:

#!/bin/sh

java -classpath jperf.jar:lib/forms-1.1.0.jar:lib/jcommon-1.0.10.jar:lib/jfreechart-1.0.6.jar:lib/swingx-0.9.6.jar net.nlanr.jperf.JPerf -Djava.awt.headless=true

1 ответ

Решение

Вы должны запустить jperf в режиме без головы, для этого вам может потребоваться отредактировать jperf.sh, см. Http://javatechniques.com/blog/linux-x11-libraries-for-headless-mode/

если он все еще не работает, попробуйте использовать oracle jvm вместо openjdk.

Другие вопросы по тегам