Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I installed a (proprietary) software in /opt and I am able to run it perfectly using command line. Then I'd like to create a desktop icon to launch it : on my Mint distro I use "create_launcher"

However, when clicking on my fresh icon, nothing happens. Why ?

share|improve this question
    
Did you specify the full path? Is the program executable? –  user1146332 Jan 22 '13 at 10:55
    
Maybe you want to read this article about how .desktop files work. If everything is set up correctly it should work. –  taffer Jan 22 '13 at 11:27
add comment

2 Answers

up vote 2 down vote accepted

this is mostly a comment but could become an answer. we really need more information to be able to help you.

please post:

  • your "command line" environment (the output of set when using bash),
  • the content of the .desktop file of your created launcher (most likely found in ~/Desktop) and
  • the exact shell commands leading up to the program start correctly.
  • the output of file /opt/the/programm/youre/attempting/to/run
  • the content of /opt/the/programm/youre/attempting/to/run IF the output of find does not contain the word "binary". However there may be copyright/licensing issues with that!

A wild attempt at an answer without any of the above information:

Your software installed in /opt/... is not a statically linked binary but requires some libraries which are also installed below /opt but your system does not know to search that directoy for required libraries. One way to fix this is setting the LD_LIBRARY_PATH variable to include your directory in /opt.

share|improve this answer
    
Your attempt is correct ! (However that raises another question that itself requires a new dedicated post).Thx –  JCLL Jan 23 '13 at 16:54
add comment

You most probably did not specify a specific path and the binary is therefore searched using the $PATH variable.

It seems like your location "/opt/..." is contained in your shells PATH but not in your launchers path. This is probably because you set it in the config file of your shell, like .bashrc.

The easiest solution is simply specifying the complete path in your launcher, i.e. /opt/path/to/your/binary.

share|improve this answer
    
No, using the full path does not solve the issue –  JCLL Jan 22 '13 at 11:41
    
in fact it is not a binary, but a small script... –  JCLL Jan 22 '13 at 11:43
    
In that case it is probably started, but does not display anything, because the script itself failed for another reason. Try starting something like xlogo at the beginning of your script, to verify the script itself is started. –  michas Jan 22 '13 at 11:47
    
It is possible that the script is relying on other aspects of your shell environment that is different from when it is run via the desktop launcher. Perhaps you can add a line near the top to dump the env into a file, and then diff them? –  Danny Staple Jan 22 '13 at 12:37
    
If it is a script: Where should it put the output? Launching it in an x-term could work. –  Bonsi Scott Jan 22 '13 at 18:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.