Hi
Eine Motif-Applikation die auf Red Hat ES3 entwickelt wurde lässt sich per Konsole ganz einfach durch ein Shellscript starten ($ ./start_myMotifApp.sh). Vorher muss nätürlich noch ein Shellscript (bash) ausgeführt werden ($ source setup_myScript.sh) das ein paar Umgebungsvariablen setzt, dass wird vorher durch das Startscript erledigt. Alles schön und gut.
Nun will ich auf dem Desktop ( KDE ) einen Link kreieren der diese Applikation startet. Das tue ich wie folgt:
(1) Rechter Mausklick/Create New/Link to Applikation ...
(2) Link to Applikation = myMotifApp
(3) Tab Execute/Command: /bin/bash -norc /home/user/start_myMotifApp.sh; Run in terminal: Yes
- Klicke ich den Link erscheint kurze Zeit (1") einm Terminal und .... Ende.
- Lasse ich "Run in Terminal" weg, kann ich die Applikation starten, von der aus aber nicht auf einen SCSI Device screiben.
- Ändere ich das Start Script wie folgt "funktioniert" es auch mit dem Terminal, allerdings nur auf Zeit:
#
#!/bin/bash -norc
#
source /home/user/setup_myScript.sh
/home/user/myMotifApp
sleep 3600 # Diese Zeile muss ich einfügen und alles ist gut ...
Wieso ist das so? Gibt es da ein Problem zwischen Motif und KDE? Per Konsole funktiniert ja alles bestens, inklusive dem Schreiben auf den SCSI Device.
Wer weiss Rat?
Dank und Gruss,
d-ol
Linux 15.010 Themen, 106.838 Beiträge
Ich habe da keine genaue Ahung, aber ich denke es wird wohl folgendermaßen erklärt werden können:
Wenn ein Anwender ein Shellscript startet, dann wird dieses Shellscipt nicht in der aktuellen Shell gestartet sondern in einer Subshell. Die Shell in die der Benutzer momentan eingeloggt ist, startet selbst eine Subshell und in dieser Subshell läuft dann das eigentliche Shellscript.
Ich habe jetzt aber keine genaue Ahnung warum es nicht funktioniert. Die Umgebungsvariablen müssen mit dem "export"-Befehl der Subshell bekanntgemacht werden. Vielleicht liegt es daran das die Subshell deine Umgebungsvariablen nicht erbt, keine Ahnung.
