Xpra

From Thom Group Wiki
Jump to navigation Jump to search

Notes from the COS

Have you encountered xpra? It is basically "screen for X". I'd strongly advise using it since you'd be able to attach/detach your vmd window from anywhere:

You need it on both your client machine and the server. It should "just work" if your machine isn't using the nvidia GL libraries.

xpra start ssh:$REMOTEHOSTNAME:100 --start-child=/usr/local/shared/vmd/1.9.2/64/bin/vmd

More info here:

http://xpra.org/trac/wiki/Usage

Obsidian has the nvidia GL libraries, and you can't easily seem to use these to render on xdummy or xvfb. Also, nvidia brings in the xserver-xorg-legacy package, which provides a wrapper around Xorg, which in turn breaks other things. ( https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-dummy/+bug/1589447 ) xpra seems to want to use Xorg instead of Xvfb for some reason as well.

OK... so basically, you want to run vmd over ssh somewhere else that is running with nvidia libgl stuff. So, if this works, you can probably write a short shell script or some such to launch the "xpra daemon":

On your workstation:

sudo apt-get install xvfb xpra

This should start things with the mesa libraries instead of the nvidia ones.

xpra start --xvfb 'env LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa: Xvfb +extension GLX -screen 0 3840x2560x24+32 -nolisten tcp -noreset'

This should say something like Actual log file name is now: /home/$USER/.xpra/:1.log . It should be listening on :1 then (if not, substitute). You can attach, detach, whatever... kind of like screen (RTM).

You can now do things in your ssh session on your workstation like:

export DISPLAY=:1 
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa: vmd

Which should launch vmd on :1. You can attach the session from your client computer:

xpra attach ssh:myworkstation.ch.private.cam.ac.uk:1 --ssh="ssh -l <username>"

then you should magically see vmd spring into life. Other things you may find useful are:

xpra list
xpra stop :1