I need to execute ikeyman on an IBM HTTP Server. Since I don't want to install a full blown UI on the server, I used MobaXterm with x forwarding for the Windows workstations. When executed as regular user (e.g. /opt/IBM/HTTPServer/bin/ikeyman) it works. For corresponding permissions in certain folders, ikeyman need to run as root:
sudo -i
/opt/IBM/HTTPServer/bin/ikeyman
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:217)
        at java.awt.Window.<init>(Window.java:547)
        at java.awt.Frame.<init>(Frame.java:431)
        at java.awt.Frame.<init>(Frame.java:396)
        at javax.swing.JFrame.<init>(JFrame.java:200)
        at com.ibm.gsk.ikeyman.gui.KeymanFrame.<init>(KeymanFrame.java)
        at com.ibm.gsk.ikeyman.gui.KeymanFrame.<init>(KeymanFrame.java)
        at com.ibm.gsk.ikeyman.Ikeyman.main(Ikeyman.java)
Not working:
sudo DISPLAY=localhost:10.0 /opt/IBM/HTTPServer/bin/ikeyman(theDISPLAYvalue was copied from the regular user)xauth add $(xauth -f /home/user/.Xauthority list | tail -1 )export DISPLAY=localhost:10.0 /opt/IBM/HTTPServer/bin/ikeyman```