PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme beim aufrufen von Shell-Scripts



dentaku
04.06.03, 21:35
Aaaalso: ich habe ein shell script geschrieben, welches ich in einer shell ausführen kann. hier das script:

---------- start.sh ------- :
#! /bin/sh
setiathome -graphics &
xsetiathome
-----------------------------

Geje ich nun über KDE in dieses Verzeichnis und doppelklicke "start.sh" erscheint nur die Meldung:

Programm "start.sh" ist nicht auffindbar.

ich habe sogar mit "chmod 777 start.sh" alle Rechte vergeben, aber ohne Erfolg. Wie kann ich ein Shell-Script von KDE aus per Doppelklick starten?

wickey
04.06.03, 22:40
Du musst für KDe angeben, dass es im terminal gestartet werden soll, siehe Anhang.

Übrigens:
#! /bin/sh
..^ Da gehört kein Abstand rein.

grüße wickey

LX-Ben
06.06.03, 18:34
Das Forum ist lustig :)
Ich musste auf Anworten klicken, um meine Frage loszuwerden: :D

Frage zum Bildschirmabdruck - bei Eigenschaften gibt es
bei mir (SuSE8.2, kde 3.1) nur Allgemein und Berechtigungen.

Habe zwar nach Umstellmöglichkeiten gesucht (root als auch
user), aber nichts gefunden. Hat jemand einen Tipp?

dentaku
06.06.03, 20:19
@wickey:

das gibt's bei mir nicht! auf deinem screenshot sind 4 reiter, wenn ich aber bei meinem "start.sh" auf eigenschaften gehe, sehe ich nur zwei Reiter: "Allgemein" und "Berechtigung". Einen Reiter "Ausführen" gibt's hier nicht ! :eek: :confused:

Dirki
06.06.03, 21:39
Original geschrieben von LX-Ben
Das Forum ist lustig :)
Ich musste auf Anworten klicken, um meine Frage loszuwerden: :D



Hm... Bei windows klickste doch auch auf Start, um Windows zu beenden....


@dentaku

Es ist vielleicht trivial, aber du hast dein script mit ./start.sh ausgeführt? also mit vorausgestellten ./ ?

LX-Ben
06.06.03, 21:51
du hast dein script mit ./start.sh ausgeführt?
NEIN, genauso wie dentaku möchte ich das script per
Mausklick in kde3.1x starten können. :rolleyes:

alexm
06.06.03, 22:01
xterm -e script.sh

dentaku
06.06.03, 22:03
klar, egal ob

start.sh

oder

./start.sh

... in der shell (im verzeichnis wo auch start.sh liegt) funktionierts, beim doppelklick auf das start.sh icon nicht ... :(

alexm
07.06.03, 11:20
hörst du mir zu? xterm -e start.sh lässt das script in einem neuen terminal ablaufen

dentaku
08.06.03, 00:33
hast du meine frage richtig gelesen? ich möchte das script auf der KDE oberfläche per doppelklick starten! :rolleyes:

paleo
08.06.03, 00:57
ist ja seltsam. bei mandrake hab ich so'n problem nicht.
kannst du überhaupt programme per doppellick auf einem icon starten oder sind das nur shell scripts die sich so dumm benehmen?

dentaku
08.06.03, 01:16
nur shell scripts ...

RapidMax
08.06.03, 01:24
Original geschrieben von wickey
Übrigens:
#! /bin/sh
..^ Da gehört kein Abstand rein.
Hmm, obwohl ich es auch immer ohne Abstand schreibe funktioniert das durchaus auch mit.

Gruss, Andy

paleo
08.06.03, 06:45
es kann ja nicht sein, dass alle shell skripts nicht per doppelklick aufgerufen werden können. Viele der programme in /usr/bin sind zum Beisp. auch scripts (und ich nehme an, die kannst du aufrufen).

Vielleicht klappt es, wenn du dein script in eine deiner PATH directories bringst (wahrscheinlich /bin, /usr/bin, /usr/local/bin, ~/bin, und noch ein paar andere directories). Wenn ja, kannst du ja links zu deiner skript auf deine Arbeitsfläche setzen.

sirmoloch
08.06.03, 19:22
Programme, die keine grafische Oberfläche haben, werden nicht auf einer grafischen Oberfläche (wie KDE) angezeigt, da sie keine Verhaltensweisen für den X-Server haben und somit keine X-Clienten sind. Durch XTerm (also einem X-Client) können diese Programme unter der grafischen Oberfläche laufen.

Ich hoffe das versteht irgendwer :rolleyes: und es ist auch richtig erklärt. :cool:

paleo
08.06.03, 19:29
hört sich plausibel an. Aber: Ich habe absolut keine probleme unter KDE shell skripts aufzurufen, mit oder ohne xterm.

ThorstenS
08.06.03, 20:11
Wenn man die Programme im shellscript mit absoluten Pfad aufruft laufen sie manchmal sogar ;)

RapidMax
08.06.03, 21:30
Original geschrieben von sirmoloch
Programme, die keine grafische Oberfläche haben, werden nicht auf einer grafischen Oberfläche (wie KDE) angezeigt, da sie keine Verhaltensweisen für den X-Server haben und somit keine X-Clienten sind. Durch XTerm (also einem X-Client) können diese Programme unter der grafischen Oberfläche laufen.

Ich hoffe das versteht irgendwer :rolleyes: und es ist auch richtig erklärt. :cool:
Die Erklährung scheint mir falsch - ev. verstehe ich es nur falsch was du meinst:
Wenn du die Ausgaben des Scripts sehen willst, dann gebe ich dir recht: Hier braucht es ein Terminal um die Ausgaben anzuzeigen.
Ansonsten kannst du aber durchaus auch Scripts unter X starten: Die Ausgaben siehst du dann nicht.

Im Falle des vorgestellten Scripts ist ja die Idee den Seti@Home-_XClient zu starten. Das funktioniert durchaus.

Gruss, Andy

sirmoloch
09.06.03, 10:40
Das ist alles, was ich bisher über den X-Server gelernt habe...;) Naja, nicht ganz. Nur so habe ich mir das Ganze erklärt. Danke für deine Korrektur...:D

LX-Ben
09.06.03, 14:21
Programm "start.sh" ist nicht auffindbar. Linux foppt uns (fast alle). :p

1. Befehlsausführungen per (kde-)Oberfläche bzw. Konsole
(terminal) laufen unter VERSCHIEDENEN Bedingungen, unter
anderem bei den Pfadangaben.

alexm schreibt daher zu Recht "xterm -e start.sh" lässt das
script in einem neuen terminal ablaufen, also unter Konsolen-
Bedingungen. Der Nachteil dieser Lösung liegt m.E. aber darin,
dass ein zusätzliches Aufrufscript erforderlich wird.

2. "Wieso foppt Linux uns?" Nun, es handelt sich
schlicht und einfach um eine "falsche Fehlermeldung" -
eigentlich müsste die heißen 'An dem script ist unter
kde-Bedingungen etwas faul.' An dieser Stelle unterscheidet
sich Linux nicht von den bekannten sprechenden Fehlermel-
dungen "Nicht behebbarer Fehler im Anwendungsprogramm.." :D

3. Meine Lösungsempfehlung: Sucht mit whereis, find o.ä. die
absoluten Pfade der ausführbaren Dateien und ergänzt in den
scripten auf /pfad/../befehl - eine Einmalarbeit, dann ist Ruhe.

dentaku
09.06.03, 17:34
die angabe des absoluten pfades hat leider auch nicht geholfen: immer noch die gleiche fehlermeldung ... :(

ThorstenS
09.06.03, 17:38
du hast aber auch ein chmod u+x script && chown user.gruppe script gemacht?

Kommt das Script von Windows?
Dann hiflt dir ein dos2unix script

dentaku
09.06.03, 18:15
ich habe sogar ein chmod 777 gemacht, und nein, das script kommt nicht von windows. ich habe es selbst erstellt.

paleo
09.06.03, 18:17
probier mal ein ~/.bash_profile anzulegen (wenn du noch keins hast) mit dem inhalt
PATH=$PATH:{wo immer dein script ist} (z.b. PATH=$PATH:/home/dummy/Desktop)
export PATH

erst mal ausloggen. Vielleicht geht das.

xstevex22
09.06.03, 18:24
Hi!
Wenn du die Ausgaben des Skriptes sehen kannst, füge ein set -x in die zweite Zeile deines Skriptes ein, sprich nach dem #!/bin/bash, dann kannst du dir die Debugging Meldungen ansehen.

paleo
09.06.03, 18:33
@xstevex22: ist doch kein script fehler. irgendwie weigert kde sich bei diesen leuten die scripts aufzurufen. Aber nicht alle scripts, nehme ich mal an. Wie schon gesagt, viele programme in /usr/bin udgl. sind auch nur shell scripts auch wenn sie nicht als solche gekennzeichnet sind mit einer .sh am ende.