Прежде чем я добавлю больше деталей к моему вопросу, я должен сказать кое-что очень важное:
Да, в моем скрипте есть " Разрешить выполнение файла как программы "включен.
По причинам программирования (разделяемые библиотеки) я не могу выполнить свою программу только из исполняемого файла, потому что мне нужно получить доступ к LD_LIBRARY_PATH
перед выполнением программы. Я создал этот скрипт для этого (помня, что это мой первый раз, когда я пишу скрипт):
#!/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
После запуска этого из терминала я подумал, что он сработал, ошибок не было и программа не жаловалась на общие библиотеки. Но, к сожалению, если я попытаюсь дважды щелкнуть файл .sh
из Nautilus, ничего не произойдет. Хуже всего то, что, поскольку я запускаю его из графического интерфейса, я понятия не имею, какую ошибку он получает. Я использую Ubuntu 14.04, а исполняемый файл представляет собой программу на C ++, использующую библиотеки SFML (да, у меня могут быть просто зависимости, но SFML обычно не устанавливается на компьютерах Linux, и это не относится к делу).