SUSE Support

Here When You Need Us

Accessing a remote Linux desktop through X

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

Environment

SUSE Linux Enterprise Desktop or Server (SLED or SLES)
openSUSE

Situation

The X server can be used to display a complete desktop session from a remote system that is also running  X.  It is not a secure connection so should only be used on an internal, secure network.  In some corporate environments Windows has been used to connect to the Linux or Unix systems in this way by installing an additional product that provides the X server software.

Resolution

These instructions are for the products mentioned above.  If you have a host system running a different Linux distribution or Unix operating system that has been configured to allow the xdmcp connection then you should still be able to connect with the "X -query" command shown below.

Instructions For Configuring SUSE Linux Enterprise Desktop or Server 10 as the Host

For the GNOME Desktop on SLED 10, SLES 10, or openSUSE 10.x

Open a terminal window and enter the "su" command to become the root user (if you are not already root) and run the command:

/opt/gnome/sbin/gdmsetup

Under the “Security” tab enable XDMCP. 

If you would like to allow the root user to login remotely also check the box for "Allow root to login remotely with GDM".

The setting is immediate so once selected just click on close to exit the utility.

For the GNOME Desktop on SLED 11, SLES 11, or openSUSE 11.1

As the root user, edit the file "/etc/gdm/gdm.schema" and location the following lines:

<schema>
     <key>xdmcp/Enable</key>
     <signature>b</signature>
     <default>false</default>
</schema>

Change "<default>false</default>" to "<default>true</default>".

If you would like the root user to be able to login remotely find the following entry:

<schema>
   <key>security/AllowRoot</key>
   <signature>b</signature>
   <default>true</default>
</schema>

Change "<default>false</default>" to "<default>true</default>".

 As the root user edit the file "/etc/gdm/custom.conf" and look for the following lines:

[xdmcp]
# SuSEconfig: displaymanager:DISPLAYMANAGER_REMOTE_ACCESS
Enable=true

Verify that "Enable=true".

If you would like to allow root to login remotely find the following line:

AllowRemoteRoot=true

Verify that it is set to "true".

For the KDE Desktop

As the root user edit the file"/etc/opt/kde3/share/config/kdm/kdmrc" and search for the following lines:

[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true

The line "Enable=true" must be set to true for the connection to work.

For both GNOME and KDE Desktops

Open YaST and select Firewall from the Users and Security group.  Verify that the firewall is disabled or click on Allow Services on the left and then click on Advanced near the bottom right.  In the Advanced settings enter 177 for both the TCP Ports and UDP Ports.

Modifying the Displaymanager Settings (for all - 10, 11, GDM, and KDE)

As the root user edit the file "/etc/sysconfig/displaymanager".

Locate the following entry and verify that it is set to "yes":

DISPLAYMANAGER_REMOTE_ACCESS="yes"

If you would like the root user to be able to login remotely then make sure this setting is also set to "yes":

DISPLAYMANAGER_ROOT_LOGIN_REMOTE="yes"


***Note - After completing the configuration of the host, if any changes were made to the gdm or kde configuration files or any changes made in gdmsetup you must restart the X server or reboot your system to have the changes take effect.


On the Client System
(SLED, SLES, or openSUSE)

As the normal use logged into the graphic desktop you can create a launcher (icon) or open a terminal window and run the following command:

X -query <host-IP> :1
(Be sure to place a space between the host-ip and the :1)

This will start another instance of X on a different Virtual Terminal (VT).  It will be the next VT after the one that the first instance of the X server is on which is VT7 (or TTY7).  So the session you just started with the remote server will be on 8.  To access both desktops you can use the key combination Ctrl-Alt-F7 for the original desktop running on this system and Ctrl-Alt-F8 for the new one coming from the remote system.

Additional connections could be created to other systems by changing the display indicated at the end of the command line.  Instead of ":1" use ":2" which would startup the session on VT9 or Ctrl-Alt-F9.  The same could be done for":3" which would be VT10 or Ctrl-Alt-F10.

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:7002963
  • Creation Date: 10-Apr-2009
  • Modified Date:03-Mar-2020
    • SUSE Linux Enterprise Desktop
    • SUSE Linux Enterprise Server

< Back to Support Search

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

tick icon

SUSE Support Forums

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

tick icon

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.

tick icon

Open an Incident

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