Personal tools
You are here: Home tmp VNC

VNC

VNC can be a tricky beast on Linux. If you ever connected to a Linux machine via VNC only to see an empty, grey window with nothing but an ugly, black, fat cursor, then you know what I mean.

In this article I will try to give an overview and some background about VNC on Linux. The focus is not distribution specific - nevertheless I will also give some SUSE Linux specific details.

The complexity of VNC on Linux comes mostly from the fact that VNC allows a multitude of different and completely independent access methods:

  1. The “traditional” (and most cumbersome) way is for the user to run vncserver manually. Some distributions have streamlined this procedure by providing a VNC service that spares the user to have to run vncserver himself yet the biggest obstacles remain:

    • for each user a password file has to be created via vncpasswd

    • for each user a xstartup file has to be created which contains the commands to start his graphical environment

    • each user has to know the exact port/display number he has to connect to in order to get his own session and environment

  2. Open a new session
    [This is how Remote Desktop on Windows works by default]
    via xinetd. On SUSE Linux you configure it via YaST > Network Devices > Remote Administration (VNC). The default port is 5901.

    Note For troubleshooting check whether XDMCP is enabled.
  3. Connect to the physical display session
    [This is how VNC on Windows works and Remote Desktop in admin mode]
    via the VNC module for X. On SUSE Linux you configure it via YaST > Hardware > Graphics Card and Monitor > VNC
    [see TID 7003097]
    . The default port is 5900.

    Note For troubleshooting check whether XDMCP is enabled.
  4. Through the desktop environment
    [similar to “Remote Assistance” or running VNC in “User-Mode” on Windows]
    ( “Remote Desktop” (vino) on GNOME, “Desktop Sharing” (krfb) on KDE). On SUSE Linux you configure it via Control Center > System > Remote Desktop. The default port is 5900.

  5. Via ssh. This is not a distinct access method; it simply means that you tunnel any of the four above through ssh.


Document Actions