IBM Support

Resolving Gtk-WARNING, Gdk-CRITICAL errors when installing Installation Manager on remote machine

Troubleshooting


Problem

You install IBM Installation Manager on a remote machine. You receive Gtk-WARNING and Gdk-CRITICAL error messages when installing or starting Installation Manager. When using a remote viewing client to connect to a UNIX-based machine, additional configurations and commands are required. These configurations and commands enable the viewing client to respond directly to the X Server on the machine.

Symptom

Examples of Gtk-WARNING and Gdk-CRITICAL error messages, usually related to the GTK or GDK libraries:

prompt:~/recv/agent.linstaller.linux-20100624_0100$ sudo ./install
(:5815) GtK-WARNING **: Screen for GtkWindow not set; you must always set a screen for a GtKWindow before using the window
(:5815) GtK-WARNING **: Screen for GtkWindow not set; you must always set a screen for a GtKWindow before using the window
(:5815) GtK-CRITICAL **: file gdkscreen-x11.c: line 122 (gdk_screen_get_display): assertion 'GDK_IS_SCREEN (screen)' failed
(:5815) GtK-CRITICAL **: file gdkdisplay.c: line 478 (gdk_display_get_pointer): assertion 'GDK_IS_DISPLAY (display)' failed
(:5815) GtK-WARNING **: Screen for GtkWindow not set; you must always set a screen for a GtKWindow before using the window
(:5815) GtK-CRITICAL **: file gdkscreen-x11.c: line 339 (gdk_screen_get_n_monitors): assertion 'GDK_IS_SCREEN (screen)' failed
(:5815) GtK-WARNING **: Screen for GtkWindow not set; you must always set a screen for a GtKWindow before using the window
(:5815) GtK-CRITICAL **: file gdkscreen-x11.c: line 363 (gdk_screen_get_monitor_geometry): assertion 'GDK_IS_SCREEN (screen)' failed
(:5815) GtK-CRITICAL **: file gdkscreen-x11.c: line 250 (gdk_screen_get_default_colormap): assertion 'GDK_IS_SCREEN (screen)' failed
(:5815) GtK-CRITICAL **: file gdkcolor.c: line 72 (gdk_colormap_get_visual): assertion 'GDK_IS_COLORMAP (colormap)' failed

Cause

The errors occur when installing Installation Manager on a non-graphical machine in a remote graphical viewing client. When installing in this scenario, there are several issues that prevent Installation Manager from starting.

Resolving The Problem

NOTE: This solution assumes that you are using the RealVNC© VNC Server 4.x and RealVNC© VNC Viewer Free Edition 4.1.1

RealVNC© VNC Viewer Free Edition can be downloaded from the RealVNC download site: http://www.realvnc.com/products/download.html.

Supported VNC Server versions:

  • AIX 5.3: vnc 3.3.3r2-5 C R
  • AIX 6.1: vnc 3.3.3r2-6 C R
  • Solaris (SPARC and x86): CSWvncs (TightVNC) (version unknown)
  • Linux (All versions, except Ubuntu): vnc-server-4.0-12.el4_7.1 (RealVNC)
  • Linux, Ubuntu: vino VNC server for Gnome 2.28.2-0ubuntu

To work around this issue:

1. SSH to the server machine to create a connected remote session to the console on the machine.

2. Before you start the VNC server and create a VNC session that your client can connect to, you must configure the xstartup file. Generally, this file is in the /home/.vnc/xstartup directory. The file sets the graphical environment that the VNC client runs with.

For example, this file sets the graphical environment of the VNC Client to use the DTWM windows manager:

#!/bin/sh


/usr/openwin/bin/xrdb $HOME/.Xresources
/usr/openwin/bin/xsetroot -solid grey
/usr/openwin/bin/xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
/usr/dt/bin/dtwm

Not all systems have DTWM installed. For newer systems, the default windows environment might be Gnome or KDE. For older environments, the default windows environment might be TWM. Use the xstartup file that is appropriate for your operating system and environment. Creating an xstartup file is something that is beyond the scope of this tech note.

3. After the xstartup file is configured, start the VNC server with the command: vncserver

The command returns a statement indicating the display for the VNC session. For example:

New 'X' desktop is available at <machine_name>:<display_number>

4. Launch the VNC Viewer.

5. In the Server input panel, enter in the <machine_name>:<display_number> value that is returned after the VNC Server is started.

6. You might be prompted for your VNC password when you attempt to connect to this machine in the VNC viewer. If you have already set your password, use that password to enter. If you have not set your password, return to the terminal of the SSH session and set the password using the command: vncpasswd

After you enter your password, you have a GUI session on the remote machine.

7. Check the DISPLAY environment variable on the machine. If the variable has not been set, open up a terminal within the VNC Viewer window on the machine and run the command:

export DISPLAY=<machine_name>:<display_number>

where you enter the machine name and display number for your environment.

8. Check that you can route X Server input and output from the client machine to the remote machine. Run the command from the terminal:

xhost +

This command enables the machine to accept IO commands from any external host.

9. Test that you can start graphical programs on the machine by starting the graphical applications xterm or xclock:

xterm

xclock

firefox

If the applications start, then the path to the display and the keyboard and mouse are working.  Installation Manage can run in a graphical mode on the machine.

[{"Product":{"code":"SSDV2W","label":"IBM Installation Manager"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General information","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"1.3.2;1.3.3;1.3.4;1.3.4.1;1.4","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 December 2022

UID

swg21439107