I sometimes use my beloved FreeBSD in an environment where there are several unix-likes and windows machines in a quite mixed environment. And sometimes I spontanously use one of these other workstations -- from another room. And I've contemplating some time on how to get my FreeBSD desktop to come along with me.

The solution was quite easy once I got the idea. Instead of starting my local xfce4-session directly into the running instance of XOrg at :0 with any of the usual startup mechanisms, I let my system drop me off at console level. Plus I do have the xrdp port installed and running as a daemon.
From that point on, all I've got to do is

shell# X :0 & sleep 5; export DISPLAY=:0 ; rdesktop -f
and voila, I get the xrdp login screen on my local display. I log in and have my xfce4-desktop as usual. And when I walk over to some other unix or windows workstation, I can re-attach to my running session using either rdesktop or mstsc.

Of course, there's some backdraw -- it's called performance. Tunneling everything through an additional meshup of X11rdp, xrdp, xrdp_sesman, mstsc/rdesktop and all those nitty gritty tools doesn't necessarily make things go faster. And since audio tunneling over rd protocol is currently not supported, there are no xterm-beeps (yeah) or sound for videos (fuck!). But there's a solution. Use mplayer and use a console.

shell# export DISPLAY=:0
sheel# mplayer -fs my_nonpirated_original_movie-screened.mkv
... which will let mplayer connect directly to the local X11-server, just as it would normally -- including all the acceleration dirt. Oh, and audio works, too -- of course.