Skip to content
This repository has been archived by the owner on Oct 4, 2024. It is now read-only.

Support for Wayland #86

Open
bagnaram opened this issue Feb 11, 2021 · 2 comments
Open

Support for Wayland #86

bagnaram opened this issue Feb 11, 2021 · 2 comments

Comments

@bagnaram
Copy link

Currently Wayland is not supported by AWT. The application immediately crashes on non-X11 systems:

$ /tmp java -jar  multidoge-0.1.7-linux.jar
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
	at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:40)
	at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:592)
	at java.desktop/sun.swing.SwingUtilities2.getSystemMnemonicKeyMask(SwingUtilities2.java:2212)
	at java.desktop/javax.swing.plaf.basic.BasicLookAndFeel.initComponentDefaults(BasicLookAndFeel.java:1096)
	at java.desktop/javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:440)
	at java.desktop/javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:150)
	at java.desktop/javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1560)
	at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:587)
	at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:629)
	at java.desktop/javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1402)
	at java.desktop/javax.swing.UIManager.initialize(UIManager.java:1515)
	at java.desktop/javax.swing.UIManager.maybeInitialize(UIManager.java:1481)
	at java.desktop/javax.swing.UIManager.getUI(UIManager.java:1054)
	at java.desktop/javax.swing.JOptionPane.updateUI(JOptionPane.java:1873)
	at java.desktop/javax.swing.JOptionPane.<init>(JOptionPane.java:1838)
	at java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:862)
	at java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:670)
	at java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:641)
	at com.izforge.izpack.installer.GUIInstaller.showFatalError(Unknown Source)
	at com.izforge.izpack.installer.GUIInstaller.<init>(Unknown Source)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
	at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350)
	at java.base/java.lang.Class.newInstance(Class.java:645)
	at com.izforge.izpack.installer.Installer.main(Unknown Source)

Support for headless, JavaFX or Swing can support native GTK or QT

@bagnaram
Copy link
Author

bagnaram commented Feb 11, 2021

I managed to get it to unpack by adding -console to the installer. The jar-exe will also fail due to X11 not being available. The log outputs at the end:

10:03:01.208 [main] DEBUG org.multibit.MultiBit - Creating user interface with initial view : WELCOME_VIEW
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
but this program performed an operation which requires it.
        at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:165)
        at java.desktop/java.awt.Window.<init>(Window.java:545)
        at java.desktop/java.awt.Frame.<init>(Frame.java:423)
        at java.desktop/java.awt.Frame.<init>(Frame.java:388)
        at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
        at org.multibit.viewsystem.swing.MultiBitFrame.<init>(MultiBitFrame.java:224)
        at org.multibit.MultiBit.main(MultiBit.java:239)
        at org.multibit.MultiBitInExecutableJar.main(MultiBitInExecutableJar.java:98)
10:03:01.233 [main] ERROR org.multibit.MultiBit - An unexpected error caused MultiBit to quit.
10:03:01.233 [main] ERROR org.multibit.MultiBit - The error was 'java.awt.HeadlessException
No X11 DISPLAY variable was set,
but this program performed an operation which requires it.'
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
but this program performed an operation which requires it.
        at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:165)
        at java.desktop/java.awt.Window.<init>(Window.java:545)
        at java.desktop/java.awt.Frame.<init>(Frame.java:423)
        at java.desktop/java.awt.Frame.<init>(Frame.java:388)
        at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
        at org.multibit.viewsystem.swing.MultiBitFrame.<init>(MultiBitFrame.java:224)
        at org.multibit.MultiBit.main(MultiBit.java:239)
        at org.multibit.MultiBitInExecutableJar.main(MultiBitInExecutableJar.java:98)
10:03:01.233 [main] ERROR org.multibit.MultiBit - Please read http://multibit.org/help_troubleshooting.html for help on troubleshooting.
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.multibit.controller.bitcoin.BitcoinController.getLocaliser()" because "this.bitcoinController" is null
        at org.multibit.viewsystem.swing.action.ExitAction.actionPerformed(ExitAction.java:80)
        at org.multibit.MultiBit.main(MultiBit.java:635)
        at org.multibit.MultiBitInExecutableJar.main(MultiBitInExecutableJar.java:98)

@bagnaram
Copy link
Author

I believe this is due to being tied to the deprecated Multibit framework. https://github.com/Multibit-Legacy/multibit

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant