1

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:

Lion
  • 16,606
  • 23
  • 86
  • 148
  • Would have been quicker to learn bin/gskcapicmd syntax. Ikeyman is really an abomination. But do you have output from any of the attempts that actually set DISPLAY? Do you have an invocation that works with xeyes/xterm but not ikeyman? I generally find ssh -X root@localhost or ssh -Y root@localhost to work more reliably then trying to manually setup the env to survive across the sudo. Assuming PermitRootLogin is not blocked. – covener Apr 14 '20 at 13:03

0 Answers0