Скрипт Bash не запускается из nautilus, но запускается из терминала

Прежде чем добавить больше деталей к моему вопросу, я должен сказать кое-что очень важное:

Да, в моем сценарии включена функция «Разрешить выполнение файла как программы».

Сам вопрос:

По причинам программирования (разделяемые библиотеки) я не могу выполнить свою программу только из исполняемого файла, потому что мне нужно получить доступ к 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, и это не важно).

7
задан 25 January 2019 в 15:32

1 ответ

Свойство Позволяет выполнять файл, как программа недостаточно.

Изменяют настройки в Предпочтениях Наутилуса

enter image description here

<час>

или через терминал:

gsettings set org.gnome.nautilus.preferences executable-text-activation ask
8
ответ дан 26 January 2019 в 01:32
  • 1
    спасибо, Ella для Вашего ответа... Я уже использовал предложенный сайт, и я признаю, что он дал почти желаемый результат – A.nechi 30 April 2017 в 09:11

Другие вопросы по тегам:

Похожие вопросы: