I am implementing an ACEDB database for my lab in a group-readable
directory, allowing users to log in on their own accounts,
but still use ACEDB as a read-only database.
(This is being done on a SUN, by the way.)
However, I have encountered a problem in running external
programs such as xv. For example, I have an image defined as
Pick_me_to_call xv Clones/pI176.gif
which sends the following command to the system:
acedb call: cd /home/u12/frist/drr/lab/externalFiles ; xv Clones/pI176.gif &
When I run ACEDB from my account (I am the owner of the directory), the
command works fine. When another user chooses this command,
xv starts up, but gives the message "Can't open file 'getwd: can't open
./Clones/pI176.gif'. No such file or directory. (Bummer!)"
The root of the problem here seems to be that ACEDB automatically changes
to the externalFiles directory, and either fails to pass the path
along, or fails to tell the new shell that it has permission
to read in that group-readable directory.
I can solve the problem by redefining the image as
Pick_me_to_call cd; xv $ACEDB/externalFiles/Clones/pI176.gif
but that's kind of messy, since every object has to have these
fixes explicitly spelled out. Recognizing that Unix groups are
kind of tricky, I wonder if anyone else has encountered and
solved this problem before?
Brian Fristensky |
Department of Plant Science | Life doesn't imitate art,
University of Manitoba | it imitates bad television.
Winnipeg, MB R3T 2N2 CANADA |
frist at cc.umanitoba.ca |
Office phone: 204-474-6085 | Woody Allen, HUSBANDS AND WIVES
FAX: 204-261-5732 |