Main menu:

Sponsoring

Please consider a small donation:

 

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

My Favourites

Slackware

Calendar

November 2014
M T W T F S S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

Meta

Running X Window on MS Windows

I am less than mobile at the moment. Recovery from surgery takes longer than I expected (one week has passed and I still can wear normal trousers only for short periods of time).

It takes me some effort to go up two stairs and work at my Slackware desktop system, so that left me less than happy yesterday when I was facing the living room PC which is running Vista. I still wanted to work with my trusted Slackware display, and of course there is a solution for that.

Ever heard of XDMCP or “X Display Manager Control Protocol“? A Linux (or as it stands, any UNIX) computer running a graphical login manager like KDM can be configured to listen for remote login requests made by computers on the LAN. The protocol used for this, is XDMCP.

What I needed to do was twofold:

  1. enable XDMCP on my Slackware box, two floors up
  2. install an X server for MS Windows

A Slackware computer does not enable XDMCP by default. The reason should be obvious – security reasons. Unlike remote logins using ssh, the XDMCP network packets travel across your wires unencrypted.

If you are not too concerned about security (for instance, nobody else uses your local network) these simple steps enable XDMCP – if security is an issue you may want to have a look at NoMachine’s NX technology instead.

  • In the file “/etc/X11/xdm/xdm-config” comment out this line (by placing a ! in front):
    DisplayManager.requestPort: 0
    which prevents XDM from listening to XDMCP requests
  • In the file “/etc//X11/xdm/Xaccess” uncomment this line (remove the #):
    #* #any host can get a login window
    so that any host is allowed to see the login window
  • If you are going to use KDM as the graphical login manager, then edit the file “/etc/kde/kdm/kdmrc” and comment out this line in the section “[X-:*-Core]“:
    ServerArgsLocal=-nolisten tcp
    which inhibits KDM from listening on a network socket
    Also, look in section “[Xdmcp]” and change
    Enable=false
    to
    Enable=true
  • Finally, make sure that your machine starts in the graphical runlevel ( for Slackware that is runlevel 4) by editing the file “/etc/inittab” and changing
    id:3:initdefault:
    to
    id:4:initdefault:

Simple enough isn’t it?

When you have rebooted your Slackware computer, it will be listening on your local network for incoming login requests. When you have KDE installed, then Slackware will use KDM as the login manager. Otherwise,  XDM will be used. If you decide to install one of the 3rd-party Gnome add-ons that exist for Slackware (GnomeSlackBuild, gware, dropline, gnomeslacky) then by default GDM will be running to manage your logins.

Next step is to install a X-Server for the MS Windows machine. There is one that I really like a lot. It is called Xming and you can find it at http://www.straightrunning.com/XmingNotes . It is a cross-compiled X.Org using the mingw compiler. Xming comes in two flavours – a version that is non-free (you have to pay to get access to the binaries) and a version that is in the “public domain” (you are free to use and distribute it). The author has written a page with an overview of the component licenses and has all his patches to the original X.Org/freetype/Mesa sourcecode available for download. The free version lags a bit behind with regards to version number but it does all the things I need. The installer comes with a handy tool called “Xlaunch” which is a wizard-like application to configure access to the remote server.

After installation of Xming, and running Xlaunch, it took only a few mouseclicks and entering my Slackware hostname to be greeted by my familiar KDM login screen :-)

Note: if you have two Linux computers, the story is even simpler if you want to perform a remote graphical login. After enabling XDMCP on one computer, you run the following command on the other (assuming you are already running X locally and want a second parallel X session to the remote machine on IP address 192.168.0.11):

  • X -query 192.168.0.11 :1

To switch between your local and remote X sessions, use the <Ctrl><Alt>F8 and <Ctrl><Alt>F7 key combinations.

Enjoy! Eric

Comments

Comment from Willy Sudiarto Raharjo
Posted: September 13, 2008 at 08:32

What about VNC? Is it also possible to use that for two different platform?

Comment from AlienBOB
Posted: September 13, 2008 at 12:53

Hi Willy!
Yes, VNC would have been an alternative. But you’d have to run a VNC server session on the Slackware computer and it would have fixed dimensions for width and height (you define Width x Height in the vncserver configuration). This usually means the vncviewer session window is not covering your full screen or it can even bee too large (VNCviewer can not scale the display).
On the other hand, a X session always uses your own computer screen’s dimensions. That makes it feel “more natural”.
Still, to show you that I use both: I write this message in a VNCviewer that connects to a VNCserver session which runs 24/7 on my server :-)

Comment from Cool Dave
Posted: September 14, 2008 at 19:56

That remote x window works great on my home network. Thanks. -CD-

Pingback from Securing X
Posted: June 11, 2010 at 16:34

[...] ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 Alien_Bob has a blog post on what is required to enable XDMCP on Slackware. http://alien.slackbook.org/blog/runn…on-ms-windows/ [...]

Pingback from Can not get XDMCP to work on 13.37
Posted: December 15, 2011 at 21:50

[...] usual steps to get xdmcp going as best as I can remember and followed several how-to's including Eric's. for some reason I am unable to get an XDMCP login from GDM on 13.0 laptop, from a terminal with [...]

Pingback from Ratpoison + XDMCP issue. (Nothing seems to Lanuch)
Posted: December 23, 2011 at 14:18

[...] here are two useful links for using XDMCP http://www.dheinemann.com/2011/locking-down-ratpoison/ http://alien.slackbook.org/blog/runn…on-ms-windows/ So here is the situation boys and girls, I am really just frustrated; I can not seem to get [...]

Pingback from How to enable XDMCP on Slackware « Giovanni’s Blog
Posted: February 1, 2012 at 17:56

[...] http://alien.slackbook.org/blog/running-x-window-on-ms-windows/ Like this:LikeBe the first to like this post.   [...]

Pingback from Xorg listening on TCP by default
Posted: November 28, 2012 at 06:58

[...] ServerArgsLocal=-nolisten tcp If you want to lock it down, then see here. http://docs.slackware.com/howtos:sec…basic_security If you want to enable remote connections, then see here. http://alien.slackbook.org/blog/runn…on-ms-windows/ [...]

Pingback from First time Slack Installation – Page 2
Posted: January 8, 2013 at 23:54

[...] once wrote an article about how to run a X Window session on MS WIndows using XMing: http://alien.slackbook.org/blog/runn…on-ms-windows/ – that might be of interest. [...]

Pingback from Need help with xdm
Posted: March 10, 2013 at 01:38

[...] to sort of make one of my RPi's into my desktop a la thin client. So I found a post from AlienBob (here's the link). I set up /etc/X11/xdm/{Xaccess, xdm-config} just how he explains. When I run [...]

Comment from romeo
Posted: May 15, 2013 at 04:44

Thanks, it works perfectly :)

Write a comment