old-www/LDP/LG/issue34/tag/xdm.html

264 lines
9.6 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head>
<META NAME="generator" CONTENT="lgazmail v1.1D.l">
<TITLE>The Answer Guy 34:
Remote X using xdm
</TITLE>
<!-- ORIGINAL SUBJECT:
xdm
JTD SUBTITLE:
-->
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H1 align="center"><A NAME="answer">
<img src="../../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="../index.html">The Answer Guy</a>
<img src="../../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1>
<BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a>
<BR>Starshine Technical Services, <A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H4>
<p><hr><p>
<!--endcut ========================================================= -->
<H3><img src="../../gx/dennis/qbub.gif" alt="(?)"
width="50" height="28" align="left" border="0"
>Remote X using xdm</H3>
<p><strong>From Andy Faulkner on 28 Sep 1998 </strong></p>
<!-- begin body -->
<p><strong>Dear answerguy.
</strong></p>
<p><strong>I have been trying for the last several hours that when I first started
it sounded simple.
</strong></p>
<p><strong>I am trying to launch a <tt>xdm</tt> session on my linux box from a another linux
box on the same network.
</strong></p>
<p><strong>I have tried to use "<tt>chooser</tt>" but it brings up no listed hosts. Also
when I fire up chooser I see nothing going across the network. I hate
to say this but with my Winblows box I can do it with reflectionX. I am
running <A HREF="http://www.suse.com/">S.u.S.E.</A> 5.2 and the other machine is running 5.3. We are both
using <A HREF="http://www.kde.org/">KDE</A> and also using <tt>kdm</tt> instead of <tt>xdm</tt>. We have tried both, and
both had the same results. It looks as though I am not sending the
request out to the host for a <tt>xdm</tt> session.
</strong></p>
<p><strong>I can't seem to find any docs on "<tt>chooser</tt>" or on how to launch a session
on a linux box.
</strong></p>
<p><strong>What do you think?
Andy Faulkner
</strong></p>
<blockquote><IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)" height="28" width="50" align="bottom">I think '<TT>chooser</TT>' (/usr/X11R6/lib/X11/xdm/chooser)
is normally run by '<TT>xdm</TT>' --- probably with some
special environment variables and parameters.
--- I don't think it's feasible to run '<TT>chooser</TT>' by
itself. (That would be a good reason to put it in the
"lib" directory rather than under a bin directory ---
and would explain why it has no man page of its own.
</blockquote>
<blockquote>(I'll grant that this seems like an odd way to
do it --- since making '<TT>chooser</TT>' a shared library
would make more sense from a classical programming
point of view. In any event I don't know how you'd
use '<TT>chooser</TT>' directly).
</blockquote>
<blockquote>Remote execution of X sessions via xdm is a bit confusing.
Under S.u.S.E. they have a script <tt>/sbin/init.d/rx</tt> which can
be used with their <tt>/etc/rc.config</tt> variable settings to run
the xdm and allow access via XDMCP (the X display manager
control protocol).
</blockquote>
<blockquote>To remotely access systems running these display managers
you have to run your X server with a command such as:
</blockquote>
<blockquote><blockquote><code>X -broadcast
</code></blockquote></blockquote>
<blockquote>(connect to the "first" --- or only --- available xdm
server).
</blockquote>
<blockquote>Alternatively you can specify the server you want to
connect to with a command like:
</blockquote>
<blockquote><blockquote><code>X -query $HOST
</code></blockquote></blockquote>
<blockquote>--- which will require the host name or IP address.
</blockquote>
<blockquote>To use the chooser you have to run a command like:
</blockquote>
<blockquote><blockquote><code>X -indirect $HOST
</code></blockquote></blockquote>
<blockquote>... this will cause the xdm on the named host to
provide a list of known xdm hosts (possibly including
itself).
</blockquote>
<blockquote>In any of these cases the '<TT>xdm</TT>' process must already
be running on the remote host. That host need not
be running any X server! (I realize the terminology
is confusing --- more on that later).
</blockquote>
<blockquote>To quote the xdm man page:
</blockquote>
<blockquote><blockquote>
When xdm receives an Indirect query via XDMCP, it can run
a chooser process to perform an XDMCP BroadcastQuery (or
an XDMCP Query to specified hosts) on behalf of the
display and offer a menu of possible hosts that offer XDMCP
display management. This feature is useful with X
terminals that do not offer a host menu themselves.
</blockquote></blockquote>
<blockquote>(it's also possible to configure the list manually
and to configure it so that some BroadcastQuery replies
are ignored).
</blockquote>
<blockquote>I have no '<TT>kdm</TT>' incorporates all of these functions are
not. You should look through their man page for details.
</blockquote>
<blockquote>I'm also a bit unclear on how you'd run xdm such that
it would <EM>not</EM> run a local display server. I know it's
possible, but I'm not sure how. (In other words, if you
want to run '<TT>kdm</TT>' on your console and '<tt>xdm</tt>' for the
remote X servers).
</blockquote>
<blockquote>I realize the terminology is a bit confusing here. We
have "xdm servers" running on one machine, and X servers
(the X Windows <EM>display server</EM> --- the think that actually
controls your video card) running on other machines. Note
that the X <EM>display server</EM> controls your video card and
acts as a communications package between your display
(keyboard, video, and mouse) and the programs that are
running under X (the "clients" to your display server).
</blockquote>
<blockquote>Thus '<TT>xdm</TT>' is a "client" to your X display server
regardless of whether that '<TT>xdm</TT>' process is running on
you localhost or on another machine on the network.
</blockquote>
<blockquote>To complicate issues even further the '<TT>xdm</TT>' "indirect"
option first connects your X server to a one client
--- then, based on the selection you make from the
chooser, it restarts your X server with instructions on
connecting to another '<TT>xdm</TT>' host.
</blockquote>
<blockquote>In the end, when you connect to a host via 'xdm', you
log into and it is as though you were running an X session
at that system's console. All of the windows you open
will be processes running on the '<TT>xdm</TT>' host. So you can
think of '<TT>xdm</TT>' as a combined '<tt>getty</tt>' and
'<tt>telnetd</tt>' and '<tt>login</tt>' for the X protocol.
</blockquote>
<blockquote>There are a variety of shell scripts under
<tt>/usr/X11R6/lib/X11/xdm</tt> that control how the console is
"taken" (back from a user that logs out) "given"
(to a user that logs in), "setup" (prior to xdm's
display of the "xlogin" widget), "started" (as 'root'
but after login) and how the "session" is started
(under the user's UID).
</blockquote>
<blockquote>You'll want to read the xdm man page and all of the
scripts and resource files in the xdm directory to
adjust these things. (It just amazes me how complicated
all that vaunted "flexibility" and all those customization
options can make something as seemingly simple as:
provide me with a GUI login).
</blockquote>
<blockquote>Anyway, I hope that helps.
</blockquote>
<!-- end body -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
>Copyright &copy;</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 34 November 1998</H5>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<P align="center">
<table width="98%"><tr valign="center" align="center">
<td rowspan="3"><A HREF="../lg_answer34.html"><IMG
SRC="../../gx/dennis/answernew.gif"
ALT="[ Answer Guy Index ]"></A></td>
<td><A HREF="./apache.html">apache</a>
<td><A HREF="./current.html">current</a>
<td><A HREF="./digi.html">digi</a>
<td><A HREF="./ether.html">ether</a>
<td><A HREF="./goodtimes.html">goodtimes</a>
<td><A HREF="./intlX.html">intlX</a>
<td><A HREF="./largedisk.html">largedisk</a>
</tr><tr valign="center" align="center">
<td><A HREF="./maybe.html">maybe</a>
<td><A HREF="./numlock.html">numlock</a>
<td><A HREF="./quota.html">quota</a>
<td><A HREF="./recovery.html">recovery</a>
<td><A HREF="./script.html">script</a>
<td><A HREF="./serial.html">serial</a>
<td><A HREF="./session.html">session</a>
</tr><tr valign="center" align="center">
<td><A HREF="./sound.html">sound</a>
<td><A HREF="./tape.html">tape</a>
<td><A HREF="./testsuite.html">testsuite</a>
<td><A HREF="./w95ie.html">w95ie</a>
<td><A HREF="./w95ras.html">w95ras</a>
<td><A HREF="./w95virus.html">w95virus</a>
<td><A HREF="./xdm.html">xdm</a>
</tr></table>
</P>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<A HREF="../index.html"><IMG SRC="../../gx/indexnew.gif"
ALT="[ Table Of Contents ]"></A>
<A HREF="../../index.html"><IMG SRC="../../gx/homenew.gif"
ALT="[ Front Page ]"></A>
<A HREF="../lg_bytes34.html"><IMG SRC="../../gx/back2.gif"
ALT="[ Previous Section ]"></A>
<A HREF="../izquierdo.html"><IMG SRC="../../gx/fwd.gif"
ALT="[ Next Section ]"></A>
</body>
</html>
<!--endcut ========================================================= -->