Exécution d'applications graphiques Java via un terminal Linux
Je suis sur Ubuntu essayer de faire une IHM Java de l'application par le terminal. Je suis un HeadlessException quand j'essaie de le lancer. Ci-dessous est la trace de la pile:
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)
J'ai essayé export DISPLAY=:0.0
avant l'exécution de l'application, mais qui n'avait aucun effet. Comment exécuter une application graphique par le biais de Bash?
source d'informationauteur Tyler Treat
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous n'avez le
default-jre-headless
paquet installé. Vérifiez que vous avezdefault-jre
.J'ai eu cette exception. J'ai essayé le réglage de la tête paramètre à false, et cela a fonctionné pour moi:
Si vous exécutez votre application sur Ubuntu par la commande:
puis OpenJDK est utilisé. Essayez d'installer le JDK Sun et exécuter votre application comme:
Si vous ne disposez pas d'une interface graphique, vous ne pouvez pas l'exécuter. Êtes-vous en cours d'exécution à distance (par exemple, SSH)?
Si oui, regarde dans le système que vous utilisez pour l'accès à distance. Par exemple, avec SSH, vous voulez regarder la
AllowX11Forwarding
réglage (SSH entrée de la FAQ).