<html dir="ltr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta content="MSHTML 6.00.2900.3562" name="GENERATOR">
<style title="owaParaStyle"><!--P {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
--></style>
</head>
<body ocsi="x">
<div dir="ltr"><font face="Tahoma" color="#000000" size="2">That's because giving up implies defeat, and it is the computer(s) that will lose in this case -- not me :)</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Targeting this solution (for now) because in my testing environment, plain X11 over SSH doesn't work right with the default-installed Gnome for some reason (on RHEL5 -- the applets get confused or something), and
 debugging gnome doesn't terribly interest me.  A quick run of a typical NX setup worked beautifully, but I'm restricted to using smartcards and pkcs11/publickey authentication, not passwords, to get users onto the server via the thin clients.  If gnome played
 nice, I could use my existing smartcard setup just fine (and I may yet still, once I look at switching to a different WM).  For now, the machines aren't connected to the internet, so this limits my options for full-on updating. 
</font><font face="tahoma" size="2">I also have to be able to secure the daylights out of the final implementation, too, so I have to not over-do it on the various patches I might otherwise use.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="Tahoma" size="2">The procedure you've got below seems to gel with some documentation I found from NoMachine:</font></div>
<div dir="ltr"><a href="http://www.nomachine.com/documents/technology/building-components-3.x.php"><font face="Tahoma" size="2">http://www.nomachine.com/documents/technology/building-components-3.x.php</font></a></div>
<div dir="ltr"><font face="Tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">But I'm now hindered by the fact I'm on Debian Etch on the thin clients, NoMachine doesn't provide a pre-compiled nxproxy, and Debian's version is for lenny|squeeze|sid.  Plus these thin clients have very little space,
 so no compiling one either (yet, anyways).  It'll be a few days before I can get my hands on full copies of Lenny and such, so I think using nxproxy is on hold, at least.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">That said, some component of the nxclient package seems to do what nxproxy does, but I'm not sure which.  nxservice, maybe?  I wonder if I can make that work somehow...</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Anyways, thanks for the tips.  I'll take a look at the links later on and see if I can think up anything new.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="Tahoma" size="2"></font> </div>
<div id="divRpF923172" style="DIRECTION: ltr"><font face="Tahoma" size="2">
<hr tabindex="-1">
</font><font face="Tahoma"><font size="2"><b>From:</b> Marcelo Boveto Shima [marceloshima@gmail.com]<br>
<b>Sent:</b> Wednesday, June 24, 2009 3:23 PM<br>
<b>To:</b> User Support for FreeNX Server and kNX Client<br>
<b>Subject:</b> [FreeNX-kNX] Fwd: nxproxy usage?<br>
</font></font><br>
</div>
<div></div>
<div>Seems you are not going to give up. =)<br>
<br>
I must say it isn't an easy task. I know because I am writing a new server.<br>
<a href="https://code.edge.launchpad.net/~marceloshima/tacix/0.1" target="_blank">https://code.edge.launchpad.net/~marceloshima/tacix/0.1</a><br>
<br>
Let me try to explain how it should work:<br>
 1 - Create the options and authorization on the server.<br>
 2 - Run NXAgent on the server.<br>
 3 - Pass the authorization and options from the server to the client.<br>
 4 - Create the options of the client.<br>
 5 - Run NXProxy on the client.<br>
 6 - NXProxy should communicate with NXAgent successfuly.<br>
 7 - You have a running session.<br>
<br>
The most difficult part is to create the options for NXProxy based on the information created<br>
for the NXAgent.<br>
<br>
So the most important task is to create the communication protocol.<br>
I was thinking in using dbus or soap. But for now I am using the protocol nxclient/nxserver<br>
uses.<br>
<br>
I think the easiest way for you to accomplish what you are trying to do, is to hack on the<br>
client I am writing and make it compatible with usermode FreeNX. Or use the tacix server.<br>
 * Usermode FreeNX is the mode Fabian made that you can log in directly into the<br>
user account and start the session from there.<br>
The client I am writing uses python-paramiko for ssh library, so it provides support<br>
for ssh-agent and others.<br>
<br>
For the client you can take a look at:<br>
<a href="http://bazaar.launchpad.net/~marceloshima/tacix/0.1/annotate/head%3A/tacix/client/TXClient.py" target="_blank">http://bazaar.launchpad.net/~marceloshima/tacix/0.1/annotate/head%3A/tacix/client/TXClient.py</a><br>
and<br>
<a href="http://bazaar.launchpad.net/~marceloshima/tacix/0.1/annotate/head%3A/server/tacix-client" target="_blank">http://bazaar.launchpad.net/~marceloshima/tacix/0.1/annotate/head%3A/server/tacix-client</a><br>
<br>
Hope this helps.<br>
Shima<br>
<br>
<div class="gmail_quote">---------- Forwarded message ----------<br>
From: <b class="gmail_sendername">Joshua Kinard</b> <span dir="ltr"><<a href="mailto:joshua.kinard@sdc-world.com">joshua.kinard@sdc-world.com</a>></span><br>
Date: Wed, Jun 24, 2009 at 2:50 PM<br>
Subject: [FreeNX-kNX] nxproxy usage?<br>
To: "<a href="mailto:freenx-knx@kde.org">freenx-knx@kde.org</a>" <<a href="mailto:freenx-knx@kde.org">freenx-knx@kde.org</a>><br>
<br>
<br>
<div>
<div dir="ltr"><font face="Tahoma" color="#000000" size="2">Having a blonde moment here, but I'm attempting to run the commands in an ssh shell and seeing how far I can get.  Figured out (somewhat) how to start the agent:</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">nxnode --startsession <ENTER></font></div>
<div dir="ltr"><font face="tahoma" size="2"><bunch of silly options></font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Then it prints out stuff that indicates that the session is running and sits there.  Now I have roughly ~60 seconds to get nxproxy running before the agent gives up, packs its bags, and goes home.  But running nxproxy
 is confusing me, and the directions aren't exactly clear on what I should be passing it.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="Tahoma" size="2">Quote from </font><a href="http://www.nomachine.com/ar/view.php?ar_id=AR03C00171" target="_blank"><font face="Tahoma" size="2">http://www.nomachine.com/ar/view.php?ar_id=AR03C00171</font></a><font face="Tahoma" size="2">:</font></div>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<div dir="ltr"><font face="Tahoma" size="2">8. Then in another shell (or in background), please invoke nxproxy with the proper parameters. Parameters can be passed on the command line or in the options file, usually created in the session directory, in $HOME/.nx:</font></div>
<div dir="ltr"><font face="Tahoma" size="2">    nxproxy -S options=path to options file/options:Session display</font></div>
</blockquote>
<div dir="ltr"><font face="tahoma" size="2">The only folder I have in ~/.nx while the agent is running is in the format of C-$HOSTNAME-$DISPLAY-$UNIQUEID, where $DISPLAY and $UNIQUEID come from the params I passed to nxnode --startsession.  The example given
 for nxproxy indicates it's looking for a folder that starts with S-, not C-.  If I pass it the C- path + /options, it notes that it is ignoring several options, then quits after trying to bind to the same TCP port that the agent is already sitting on, which
 causes it to error out.</font></div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><font face="tahoma" size="2">Now, this is assuming nxproxy should be run from the server ssh session, as that's what the instructions seem to imply.  Am I supposed to be switching back to the client, where nxproxy is available, and running it
 from there, copying (as fast as I can) my parameters from the server, creating the S-$HOSTNAME-$DISPLAY-$UNIQUEID directory, populating the options file, then launching nxproxy?  If so, that will be difficult to scriptify in bash or something.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">The way I'm reading the documentation, is that nxnode --startsession and nxproxy get run on the server side, and somehow, another utilitiy runs on the client to connect.  Right now, my environment is a RHEL5 system
 as the server, and a Debian Etch-based thin client as the client.  The thin client only has the standard NoMachine nxclient on it (thus no nxproxy), while the RHEL5 has nx and the freenx server RPM.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">How I'm currently kludging things:</font></div>
<div dir="ltr"><font face="tahoma" size="2">1. Sitting on the thin client, doing dual SSH sessions to the server with X11Forwarding enabled.  One session invokes nxnode --startsession, and feeds it some values that I partially autogenerate quickly by hand (i.e.,
 run a script, copy+paste output).  The agent invokes and starts a session.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">2. Second session to the server invokes nxproxy.  This is where I'm stuck.  According to the documentation, nxproxy is supposed to load here, and then I switch back to session 1 and log off of the ssh session, thus
 dropping back to the client.  What I'm supposed to do after this, I'm, not sure.  NX's guide ends at this point.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Anyways, long read, but if anyone has pointers as to what I'm doing wrong, let me know.  Still got ~4 more hours to crack at it, though!</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Thanks!</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<font color="#888888">
<div dir="ltr"><font face="tahoma" size="2">Joshua Kinard</font></div>
</font></div>
<br>
________________________________________________________________<br>
    Were you helped on this list with your FreeNX problem?<br>
   Then please write up the solution in the FreeNX Wiki/FAQ:<br>
<br>
<a href="http://openfacts2.berlios.de/wikien/index.php/BerliosProject:FreeNX_-_FAQ" target="_blank">http://openfacts2.berlios.de/wikien/index.php/BerliosProject:FreeNX_-_FAQ</a><br>
<br>
        Don't forget to check the NX Knowledge Base:<br>
                <a href="http://www.nomachine.com/kb/" target="_blank">http://www.nomachine.com/kb/</a><br>
<br>
________________________________________________________________<br>
      FreeNX-kNX mailing list --- <a href="mailto:FreeNX-kNX@kde.org">FreeNX-kNX@kde.org</a><br>
     <a href="https://mail.kde.org/mailman/listinfo/freenx-knx" target="_blank">https://mail.kde.org/mailman/listinfo/freenx-knx</a><br>
________________________________________________________________<br>
</div>
<br>
</div>
</body>
</html>