Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#1171 closed defect (worksforme)

"ChimeraX --cmd" doesn't recognise multi-word commands

Reported by: Tristan Croll Owned by: Greg Couch
Priority: moderate Milestone:
Component: Command Line Version:
Keywords: Cc: Eric Pettersen
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Enough said, really. As far as I can tell from trying every permutation I can think of, this isn't currently possible. Would be really useful to be able to run, e.g.

ChimeraX --cmd remotecontrol xmlrpc true

Change History (9)

comment:1 by Eric Pettersen, 7 years ago

Cc: Eric Pettersen added
Owner: changed from Eric Pettersen to Greg Couch

comment:2 by Eric Pettersen, 7 years ago

Resolution: worksforme
Status: assignedclosed

Hi Tristan,

You have to put quotes around a multi-word command.

--Eric

in reply to:  3 ; comment:3 by tic20@…, 7 years ago

Hi Eric,

I tried that. 

ChimeraX —cmd “remotecontrol xmlrpc true” 

... opened ChimeraX, complained about the remotecontrol command being incomplete, then tried to open “xmlrpc” and “true” as files.

In Linux, fwiw.

T
 
 
Tristan Croll
Research Fellow
Cambridge Institute for Medical Research
University of Cambridge CB2 0XY
 

 


comment:4 by Eric Pettersen, 7 years ago

That makes no sense to me. Your _shell_ *has* to pass the quoted string to ChimeraX as a _single_ argument. How could ChimeraX possibly be getting three arguments instead?

--Eric

in reply to:  5 ; comment:5 by tic20@…, 7 years ago

... Hmm. Weird - I spent a quarter of an hour or so trying different approaches on my workstation yesterday (including quoting the command, I swear). Yet now when I try it on my laptop it works flawlessly. Sorry.

 
 
Tristan Croll
Research Fellow
Cambridge Institute for Medical Research
University of Cambridge CB2 0XY
 

 


comment:6 by Eric Pettersen, 7 years ago

It happens to all of us. :-)

--Eric

in reply to:  7 ; comment:7 by tic20@…, 7 years ago

So I finally worked out what was going on here, and it's kinda dumb. I 
had the ChimeraX executable wrapped in a little bash script - originally 
because I had to provide it with a custom LD_LIBRARY_PATH, then because 
I needed to set OPENBLAS_NUM_THREADS=1 to overcome a weird 
multiprocessing bug in libOpenBLAS, then because I was too lazy to 
change it:

#!/bin/bash

#CHIMERA_HOME=/home/tic20/apps/chimerax

#export 
LD_LIBRARY_PATH=/home/tic20/apps/gcc-4.9.2/lib64:/usr/local/cuda/lib64:$LD_LIBRARY_PATH

#OPENBLAS_NUM_THREADS=1 chimerax-daily $*

chimerax-daily $*


... which helpfully strips out the quotes from my arguments, so what 
ChimeraX sees is a list of single words. D'oh!

On 2018-06-22 19:09, ChimeraX wrote:

comment:8 by Greg Couch, 7 years ago

Use $@ instead of $*.

in reply to:  9 ; comment:9 by tic20@…, 7 years ago

Ah - awesome! Thanks for the tip.

On 2018-12-07 16:39, ChimeraX wrote:
Note: See TracTickets for help on using tickets.