Grey Screen With X Cursor When Trying To VNC Into SLES

This document (3465100) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Desktop 10

Situation

VNC has been set up and after connecting to the server with VNC there is only a grey screen (with wavy lines) and an "X" cursor.
nobody's x11 desktop
Trying to set up Remote Administration

Resolution

The following may or may not address similar symptoms described above. Each of the scenarios have worked in the past in different situations. Make a backup of any files to be modified before making any changes.
 
  • Make sure that all of the latest updates are applied--This fixes most issues tested so far.
  • Make sure that the ports in the firewall are open (5800 and 5801 for a web browser and 5900 and 5901 for a VNC client)
  • Make sure that remote administration is enabled under YaST: YaST > Network Services > Remote Administration
  • Make sure that the desktop resolution on the server you are trying to remote into is set to something small to start. If it is to large of a setting, you will not be able to correctly VNC into the server.
  • As root, edit the /usr/X11R6/bin/vncserver file and change the DefaultXStartup section. Restart xinetd (rcxinetd restart) when finished. The DefaultXStartup section should look like the following (changes in bold):
  • Make sure that when typing the following command from a Linux system, that only one IP address is returned.  If more than one is returned, correct DNS:
    host <hostname>

defaultXStartup
= ("#!/bin/sh\n\n".
"xrdb \$HOME/.Xresources\n".
"xsetroot -solid grey\n".
"xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\"&\n".
#"twm &\n");
"opt/kde3/bin/startkde&\n");
 
  • It may be that YaST is not modifying the configuration file, if it thinks the file has been modified by something else. If you run 'SuSEconfig' manually, there may be errors displayed that do not show when run through YaST. Here's how to fix this situation:
  1. Backup your existing copy of/etc/opt/kde3/share/config/kdm/kdmrc
  2. If a file /etc/opt/kde3/share/config/kdm/kdmrc.SuSEconfig exists, you can copy that file to the kdmrc mentioned above.
  3. If the kdmrc.SuSEconfig does not exist, edit the kdmrc file and find the [Xdmcp] section. From there, find the "Enable" declaration. If it is set to false, change it to "Enable=true". Save& exit.
  4. Restarting xinetd and xdm should make the change take place. Restarting the server will also make the change take place.
  5. See the notes section for more information about this.
  • Customers have reported success with the following (option 1):
    1. usermod -s /bin/bash nobody
    2. /etc/init.d/xinetd restart
    3. /etc/init.d/xdm restart
  • Customers have reported success with the following (option 2):
    1. YAST > SYSTEM > /etc/sysconfig > DISPLAYMANAGER_REMOTE_ACCESS = Yes
  • When using GDM edit /etc/opt/gnome/gdm.confand search for the section [XDMCP], change Enable=False to Enable=True, save the file and restart the displaymanager afterwards with rcxdm restart.
    Please note that the rcxdm restart Command will terminate the current running X sessions and all programs.
  • /etc/sysconfig/displaymanager sets the option which login manager (KDM, GDM, XDM) will be used. Defaults are usually set to GDM or KDM. In case the VNC connection does not work, chaning DISPLAYMANAGER="GDM" to DISPLAYMANAGER="XDM" might help as well. Ensure the command 'SuSEconfig --module xdm && rcxdm restart' is executed after the file has been altered.
  • This TID will be updated as troubleshooting continues.

Additional Information

When Remote Administration is enabled in YaST, it configures VNC to connect to the KDE Display Manager (KDM), which will prompt users to log on using the graphical login. The VNC is not shared, meaning multiple users can use it simultaneously, with their own desktops. By default it uses ports 5901 & 5801, for regular VNC and also HTTPVNC. Some clients connect specifying the VNC port (5901), others use the VNC console number (such as :1)

Some technical details on how Remote Administration works:
YaST Remote Administration enables the vnc1 and vnchttpd1 service in xinetd. The configuration file is /etc/xinetd.d/vnc, which also controls vnc2, vnc3, and their corresponding vnchttpd services. This configuration file specifies the ports that are used (such as 5901). If the service is enabled, it will start the Xvnc program when a connection is made. The options passed to this tell it to look for an XDMCP connection on localhost (or the same computer). In order to get the graphical login, KDM must be configured to use XDMCP as well. On SUSE systems, the configuration file is/etc/opt/kde3/share/config/kdm/kdmrc. Other distributions have this in various places, the default location is/opt/kde3/share/config/kdm/kdmrc. In this file is a section[Xdmcp], with a setting for Enable. This is going to be true or false (some distros use 0 or 1). It needs to be enabled to get XDMCP to have the graphical login, which is what VNC passes on to the client.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:3465100
  • Creation Date: 05-Nov-2007
  • Modified Date:25-Feb-2021
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center