Forum: PC-Programmierung Mate: Ruby-Skript per Launcher starten


von Uhu U. (uhu)


Lesenswert?

Ich würde gerne ein Ruby-Skript mit einem Launcher unter Linux Mint mit 
Mate starten - nur leider gelingt es mir nicht, einen Launcher zu bauen, 
der das Skript tatsächlich startet.

Ich sehe immer nur für Sekundenbruchteile ein Terminal aufblitzen und 
stelle hinterher fest, dass das Skript - das von der Kommandozeile aus 
gestartet funktioniert - nichts macht.

Der Inhalt des Launchers sieht folgendermaßen aus:
1
#!/usr/bin/env xdg-open
2
[Desktop Entry]
3
Version=1.0
4
Type=Application
5
Terminal=true
6
Icon[en_US]=mate-panel-launcher
7
Name[en_US]=spiegel
8
Exec=ruby /home/inet/Entwicklung/ruby/Konsole/spiegel.rb
9
Name=Spiegel
10
Icon=mate-panel-launcher

Was ist da falsch?

von Keine Ahnung aber (Gast)


Lesenswert?

die Zeile mit Exec würde mir verdächtig vorkommen.

Also frage ich Google nach "linux launcher execute script"

was u.a.

https://askubuntu.com/questions/138908/how-to-execute-a-script-just-by-double-clicking-like-exe-files-in-windows

liefert mit

Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"

Na so in etwa -- such halt nach execute bash script, wenn das 
funktioniert, dann sollte ein ruby script ja auch funktionieren.

von Uhu U. (uhu)


Lesenswert?

Keine Ahnung aber schrieb:
> Na so in etwa -- such halt nach execute bash script, wenn das
> funktioniert, dann sollte ein ruby script ja auch funktionieren.

Das habe ich längst alles durchprobiert - gestern 2 Stunden gegugelt und 
rumprobiert - nix. Mit gnome-terminal gehts schon mal gleich gar nicht - 
das heißt unter Mate mate-terminal; aber auch damit tut sich einfach 
nix.

: Bearbeitet durch User
von Stefan S. (Gast)


Lesenswert?

Und warum sagst Du das nicht gleich?

Dann hätte ich mir meine Antwort ja sparen können.

Kannst Du denn ein Bash script ausführen?

Gut, ich könnte jetzt unter meinem Gnome 3 Shell probieren, aber 
wahrscheinlich ist dein Mate-Linux das Problem, musst Du halt mal bei 
Mate nachfragen.

von Ingo D. (ingo2011)


Lesenswert?

Hi Uhu,

habe das gerade mal getestet.
Die 1. FM war das "xterm" nicht installiert ist.
habe ich dann per
sudo apt-get install xterm installiert.
Dann startet die Anwendung auch



Meine launcher sieht so aus:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon=mate-panel-launcher
Icon[de_DE]=mate-panel-launcher
Name[de_DE]=Hello
Exec=/home/monitor/hello_w.rb
Name=Hello



Das Ruby File dann so:

monitor@monitor-VirtualBox ~ $ ls -l hello_w.rb
-rwxrwxr-x 1 monitor monitor 45 Dez 16 16:26 hello_w.rb

monitor@monitor-VirtualBox ~ $ cat hello_w.rb
#!/usr/bin/ruby

puts 'Hello World'
sleep(5)



Damit funktioniert es.
Probier doch mal den kompletten Pfad vom Ruby-Interpreter mit 
anzugeben..

Gruß Ingo

von Uhu U. (uhu)


Lesenswert?

Der Tipp, den kompletten Pfad für den Ruby-Interpreter anzugeben, 
brachte die Lösung: es war ein Versionsproblem. Der Interpreter, der 
über den Launcher (dank rubyenv) gestartet wurde, hat mit einem Fehler 
wegen einer String-Codierung abgebrochen und die Fehlermeldung ging im 
Launcher leider in den Orkus. Danke für deine Hilfe.

Ich musste mein Skript um die Angabe der Codierung unter dem shebang 
erweitern:
1
#!/usr/bin/ruby
2
# encoding: utf-8
3
...

: Bearbeitet durch User
von Ingo D. (ingo2011)


Lesenswert?

Hi Uhu,
prima , schönes Wochenende !

Gruß Ingo

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.