[Chimera-users] non-GUI use of Chimera
cmoad at indiana.edu
Tue May 25 13:43:58 PDT 2004
We do not need the ability to issue requests to a specific instance of
chimera. I changed the preferences and I was having new instances of
chimera appear for each request, but that changed after restarting chimera.
The current solution we are using involves the following. You open a
web page which is a python/cgi script that prompts for input. Using
SOAPpy, we issue a call to a web service function to do the rendering.
The SOAP response is a pointer to the image url. The SOAP server just
generates a chimerax file based on the request and spawns a chimera_send
process. Other than the fact that we must have chimera attached to an
Xserver everything works really well.
Thomas Goddard wrote:
> Hi Charlie,
> You should be able to use sys.exit() in a *.chimerax script to quit Chimera.
> The sys.exit() call raises SystemExit. Unfortunately the code that runs the
> *.chimerax file is catching the SystemExit. This is a bug in Chimera 1951
> that we will fix. For now you can use "import os" and "os._exit(0)".
> The chimera_send script will start a new Chimera if it does not find
> one already running that is accepting connections. By default Chimera
> does not accept connections. The easiest way to change this is to
> start Chimera by hand and use Favorites/Preferences/Web Data to turn
> on "Accept Web Data". Then press the Preferences Save button to save
> this setting in the user's Chimera preferences file
> (~/.chimera/preferences). (Note you'll need to do this as the user
> that Chimera runs with from the web server.) You can also change the
> "Confirm open of commands or code" preference to "never". This will
> prevent the Chimera warning dialog asking whether you really want to
> execute the *.chimerax file. You can also save this setting.
> Making these settings may pose a serious security risk. There are
> mechanisms to allow only the same user that is running Chimera to
> run *.chimerax files but I do not know how strong the security is.
> Dan Greenblatt (dan at cgl.ucsf.edu) wrote the code and would know.
> As it works now, if you wish to send commands to an already running
> Chimera, you cannot specify which instance of Chimera. So it is not
> possible to communicate with multiple instances of Chimera as you might
> want to support multiple web sessions. Dan Greenblatt may have ideas
> for addressing this.
More information about the Chimera-users