Bash-Skript wird nicht von Nautilus ausgeführt, sondern vom Terminal


7

Bevor ich meiner Frage mehr Details hinzufüge, muss ich etwas sehr Wichtiges sagen:

Ja, in meinem Skript ist "Ausführen der Datei als Programm zulassen" aktiviert.

Die Frage selbst:

Aus Programmiergründen (gemeinsam genutzte Bibliotheken) kann ich mein Programm nicht nur über die ausführbare Datei ausführen, da ich LD_LIBRARY_PATHvor der Ausführung des Programms darauf zugreifen muss . Ich habe dieses Skript erstellt, um dies zu tun (wenn ich bedenke, dass ich zum ersten Mal ein Skript schreibe):

#!/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

Nachdem ich dies vom Terminal aus ausgeführt hatte, dachte ich, dass es funktioniert hat, es gab keine Fehler und das Programm beschwerte sich nicht über gemeinsam genutzte Bibliotheken. Aber leider .shpassiert nichts , wenn ich versuche, auf die Datei von Nautilus zu doppelklicken. Das Schlimmste ist auch, dass ich, da ich es über die GUI ausführe, keine Ahnung habe, welchen Fehler es bekommt. Ich verwende Ubuntu 14.04 und die ausführbare Datei ist ein C ++ - Programm, das die SFML-Bibliotheken verwendet (Ja, ich könnte nur die Abhängigkeiten haben, aber SFML wird normalerweise nicht auf Linux-Computern installiert, und das ist nicht der Punkt).


Fügen Sie die Linie notify-send $LD_LIBRARY_PATHunter der Linie hinzu export…und testen Sie sie erneut.
AB

@JacobVlijm Weißt du, wie ich in das richtige Verzeichnis cd kann, auch wenn es Leerzeichen hat? Denn wenn ich versuche, das Skript aufzurufen, wird es an einer beliebigen Stelle
abgeschnitten

@AB Kein Unterschied, gleiche Ausgabe im Terminal, gleiches Fehlen von irgendetwas in Nautilus
Orfby

Keine Benachrichtigung? Nichts?
AB

Mir? cd "your path even with spaces"
AB

Antworten:


8

Das Anwesen Allow executing file as programist nicht genug.

Ändern Sie die Einstellungen in den Nautilus-Einstellungen

Geben Sie hier die Bildbeschreibung ein


oder über Terminal:

gsettings set org.gnome.nautilus.preferences executable-text-activation ask
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.