Wine desktop integration: current directory of app launched with doubleclick?

Dan Kegel dank at kegel.com
Sat Feb 14 15:00:34 CST 2009


Ran into this again today.  I usually launch everything
from the commandline, but in preparation for my cebit
talk, I started trying to use the GUI and just double-
click on apps in Nautilus.  (This is Ubuntu 8.10.)
Works fine until I try it with the setup.exe in the
directory created by the Adobe Photoshop CS2 downloadable
trial... at which point it aborts early with a dialog box.

The little script I posted before still works, and lets photoshop's
inner installer run.

I suppose this script isn't the final word, though, as I think
it will prevent switching discss on multidisc installs.
- Dan

On Fri, Apr 6, 2007 at 10:01 PM, Dan Kegel <dank at kegel.com> wrote:
> I *almost* have a great success story to report; the only thing
> keeping it from being a success story is the current directory
> chosen by Nautilus when double-clicking on .exe files.
>
> My wife hurt a finger trying to impersonate a Sampsonite Luggage gorilla,
> and had to go to a hand doctor.  Along the way her hand got x-rayed,
> and the doctor handed her a cd-rom with the x-ray pictures on it.
> The disc has an autorun.inf on it that should start ViewSel.exe.
> I don't know if that's supposed to work with Wine and Nautilus, but
> probably doubleclicking on ViewSel.exe does the same thing.
>
> ViewSel.exe puts up two big buttons:
> low res (which launches a web browser on an html file),
> and high res (which launches a DICOM viewer).
> If you cd to the root of the cd-rom drive and run ViewSel, it works.
> If the current directory is anything else, it doesn't work.
>
> If you start the autorun app via Nautilus, those buttons don't work,
> so presumably it sets the current directory to something other than
> the root of the drive.  To see, I created a wrapper shell script,
> ~/bin/mywine,
> containing
>  #!/bin/sh
>  pwd > /tmp/log
> and used "Start with" to launch ViewSel.exe with ~/bin/mywine.
> This showed that the current directory was $HOME.
>
> I had a look at the gnome code to see how it decided, but it was
> a bit hard to follow.  (See gnome_vfs_mime_application_launch_with_env.)
> So I tried a little shell magic.  I created a new wrapper shell script
> that assumes the argument is a path to a file, and
> sets the current directory to the directory containing that file:
>
> #!/bin/sh
> DIR=`dirname "$1"`
> DIR=`cd "$DIR"; pwd`
> cd "$DIR"
> wine "$@"
>
> That worked better; it let ViewSel.exe launch the DICOM viewer.
>
> So... I suppose the next step is to look at the debian/ubuntu packages
> for wine and see if that little wrapper script could be incorporated
> into the default way file browsers start wine?
> It sure would be nice if apps that expected the current directory
> to behave like this (it's not uncommon!) Just Worked.
> - Dan
>



More information about the wine-devel mailing list