Запуск приложений Java GUI через терминал Linux - PullRequest
12 голосов
/ 09 марта 2011

Я в Ubuntu пытаюсь запустить приложение с графическим интерфейсом Java через терминал.Я получаю исключение HeadlessException при попытке его запустить.Ниже приведена трассировка стека:

Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
    at java.awt.Window.<init>(Window.java:437)
    at java.awt.Frame.<init>(Frame.java:419)
    at java.awt.Frame.<init>(Frame.java:384)
    at javax.swing.JFrame.<init>(JFrame.java:174)
    at gui.ImageViewer.<init>(ImageViewer.java:34)
    at displayrunner.DisplayRunner$1.run(DisplayRunner.java:15)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647)
    at java.awt.EventQueue.access$000(EventQueue.java:96)
    at java.awt.EventQueue$1.run(EventQueue.java:608)
    at java.awt.EventQueue$1.run(EventQueue.java:606)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:617)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

Я пробовал export DISPLAY=:0.0 перед запуском приложения, но это не имело никакого эффекта.Как вы запускаете приложение с графическим интерфейсом через Bash?

Ответы [ 4 ]

27 голосов
/ 09 марта 2011

Полагаю, у вас установлен только пакет default-jre-headless. Проверьте, что у вас есть default-jre.

5 голосов
/ 16 июня 2014

У меня было это исключение. Я попытался установить для безголового параметра значение false, и у меня это сработало:

export JAVA_TOOL_OPTIONS='-Djava.awt.headless=false'
3 голосов
/ 09 марта 2011

Если вы запускаете ваше приложение в Ubuntu командой:

java -jar MyJar.jar

, тогда используется OpenJDK.Попробуйте установить Sun JDK и запустить ваше приложение как:

/usr/java/jre1.6.0_22/bin/java -jar MyJar.jar
0 голосов
/ 09 марта 2011

Если у вас нет графического интерфейса, вы не сможете его запустить.Вы работаете удаленно (например, SSH)?

Если это так, посмотрите систему, которую вы используете для удаленного доступа.Например, для SSH вы хотите посмотреть настройку AllowX11Forwarding (запись FAQ по SSH) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...