7

Before I add more detail to my question, I have to say something very important:

Yes, my script has "Allow executing file as program" turned on.

The question itself:

For programming reasons (shared libraries), I can't execute my program just from the executable, because I need to access LD_LIBRARY_PATH before executing the program. I created this script to do this (baring in mind this is my first time ever writing a script):

#!/bin/bash
#Get the current directory and append the SO's location
currentDir=$(pwd)'/libs/'

#Change the library path export LD_LIBRARY_PATH=$currentDir

#Run the program ./program

After running this from the terminal I thought that it has worked, there were no errors and the program didn't complain about shared libraries. But unfortunately, if I try to double-click the .sh file from Nautilus, nothing happens. The worst part as well, is that since I'm running it from the GUI, I have no idea what error it is getting. I'm running Ubuntu 14.04 and the executable is a C++ program using the SFML libraries (Yes I could just have the dependencies, but SFML isn't commonly installed on Linux computers, and this is besides the point).

1 Answers1

8

The property Allow executing file as program is not enough.

Change the settings in Nautilus Preferences

enter image description here


or via terminal:

gsettings set org.gnome.nautilus.preferences executable-text-activation ask
A.B.
  • 90,397