I run an NX server on my ubuntu work computer and use an NX client on my ubuntu home computer to work from home.
The problem with this set up is that I have to create a new X session whenever I do this-- I can't log into my existing locked session I have running at work.
This requires me to either log off at work before going home if I know I'm going to want to work from home, or, once I've created a new X session at home, going through in process explorer and killing trouble processes from the other X session.
So, is there a way using the NX Client to connect to an existing X session on a computer running NX server?
Short answer : Yes.
Longer answer : This update added support for "shadowing", which allows exactly what you are asking for.
I'm not sure if this also exists in the FreeNX server, or the NeatX version.
[Edit: Updated from answer being "no", as there is "shadowing" support in NX now. So this "yes" depends on which version of NX is being used...]
You can now, simply select 'Shadow' in the Desktop dropdown in the client configuration.
Note that it doesn't play well with compositing. If you have to connect to a composited window do this:
Click System, Resize the NX window to get the screen to update, Preferences, Resize Appearance Resize Visual Effects Resize None.
Then it should work. Actually I also just discovered if you go to 'Settings' in the connection config window there is a 'Disable Composite extension' option. That might have the same effect.
It also seems to behave weirdly with dual screen (TwinView).
if its individual apps, xpra might do the trick.
Beware that shadowing an existing X11 display does little more than screenscraping and compressing the screen updates before sending them, so the performance of both NX and VNC shadowing will not be as good as native NX/VNC sessions... (which use much more advanced performance optimizations)
There is also the option of loading the vnc.so module into the X server, documentation is a bit scarce though and AFAIK you can't unload the module (whereas you can just kill nxagent/x0vncserver when not in use)
It isn't NX, but x11vnc can do what you're trying to do:
http://liquidat.wordpress.com/2008/11/13/short-tip-access-a-running-x-session-via-x11vnc/
I just always use an NX client to connect, whether at the office or home. Then one does not have this issue.