Apps :: Desktop Icon Doesn't work.



Hi Everyone,
I have been working on getting Gpsdrive to compile and install on DSL for some time. :)  I have it almost working.  I can start it from the command line no problem.

I have created the fille /home/dsl/.xtdesktop/Gpsdrive.lnk
I'm not sure what the permissions are supposed to be for the files in this folder so I set them to rwxrxrx dsl staff  (also tried chmod 777)

Here is the contents of Gpsdrive.lnk
The icon is displayed on the desktop no problem but double clicking doesn't do anything in particular.

Any Ideas?


David
(Headly)

Code Sample

table Icon
 Type: Program
 Caption: GpsDrive
 Command: LD_LIBRARY_PATH=/opt/gpsdrive/lib /opt/gpsdrive/bin/gpsdirve
 Icon: /home/dsl/.xtdesktop/Gpsdrive.gif
 X: 218
 Y: 82
end


Practically nothing (except tmp directories) should be chmod'ed 777 unless you don't care about security at all.  Typically, non-executable personal files are one of these: 644 (read-write by owner, read-only by everyone else), 664 (read-write by owner and group, read-only by everyone else), or 600 (read-write by owner, unreadable by everyone else).  There are other combinations you can use, like 640 or 660, depending on the specific permissions you want.  If it's a directory or executable, add 1 to each digit except zero (644 becomes 755, 600 becomes 700).
The specifics:
first digit = file's owner
second = file's group
third = everyone else
0 = no permission
4 = read-only
5 = read and execute ('execute' = 'enter' for directories)
6 = read and write
7 = read, write and execute
Other numbers can be used but are not used because they are pointless...in order to execute a file you need to be able to read it, so making a file executable but not readable is useless.

Your icon looks fine to me (except for the 'gpsdirve' typo), but maybe xtdesk has trouble with the way the variable is set.  One thing that might help is to set the LD_LIBRARY_PATH from a wrapper script instead of the icon.  Say you made a script called /opt/gpsdrive/start_gpsdrive (chmod 755) and put that script in the icon instead.
The script would just be something like this:
Code Sample
#!/bin/bash
LD_LIBRARY_PATH=/opt/gpsdrive/lib /opt/gpsdrive/bin/gpsdrive

or
Code Sample
#!/bin/bash
export LD_LIBRARY_PATH=/opt/gpsdrive/lib
exec /opt/gpsdrive/bin/gpsdrive


Doing it that way will also help from terminal, since you just have to run the script itself rather than setting the variable every time.

Another possibility....Is this an interactive application without a gui? If so you would need to start it in a terminal (aterm -e /opt/gpsdrive/start_gpsdrive)

Hi Mikshaw,
Thanks for the lengthy reply.  When I saw the typo I thought that was going to be it for sure.  But it didn't fix it.  I made a wrapper script as you sugested and tested it from the command line and it works from there but my icon still does the same thing.  It flashes once the cpu goes to 3% and straight back to zero.  This makes me think it is actually doing something.  I'm wondering if it is generating an error message and sending it to the big bit bucket on the floor.

It is a gui application.  It reads data from a gps and displays your location on a moving map on the screen.  I think it will be nifty if I can sought out a few more glitches.  (I'm just going through them one at a time :) ). I have dummied up a simulated GPS on another machine and I have it driving around my neighbourhood and GPS drive is following it around so I'm almost there.

Once I get it to a stable state I'd like to post it on DSL somewhere to let some other people have a play with it.  It is a .tar.gz and it writes everything to /opt/gpsdrive except for the icon stuff (I think).  It is a little huge with the zip being around 30mb but with some help I think it can be trimmed a bit.  I read some stuff on the wiki about asking for ftp access.  Do you know who I should contact about that?

Thanks again for your help.

David (Headly)

UPDATE.
I just put some simple loging in my start.sh wrapper so that if put some output into a file.

When run from the desktop icon it doesn't even call it.

I get the feeling I'm missing something obvious.

Dave

I can't think what the problem might be.  It works from the commandline, but the same command does not work from the icon.  Does it work from the fluxbox menu?
Next Page...
original here.