X11 Programm vom Desktop starten?

J

Junior-c

Hallo.

Ich hätte da eine Frage da ich gerade auf der Leitung stehe... :rolleyes: Habe auf meinem Mac das X11, Fink und Nicotine installiert. Wenn ich Nicotine starten will muss ich X11 starten und in dem xterm Fenster
Code:
/sw/bin/python2.3 /sw/bin/nicotine
eingeben. Da ich das aber recht umständlich finde hätte ich mir ein Script geschrieben:
Code:
#!/bin/bash

open /Applications/Utilities/X11.app
sleep 10
exec /sw/bin/python2.3 /sw/bin/nicotine
und im Terminal mit chmod ausführbar (-rwxr--r--) gemacht. D.h. ich kanns nun dort mit ./Nicotine starten (liegt derzeit noch am Desktop).

Nun mein Problem: Das Script funktioniert nicht, da ich Nicotine dann im Terminal Fenster starten will und dort die Meldung "RuntimeError: could not open display" kommt. X11 wird aber gestartet. Wie kriege ich den Nicotine Aufruf ins xterm Fenster? Das Sleep10 hätte ich eingebaut, da X11 ja ein wenig Zeit braucht um zu starten. Unnötig? Und wie kann ich das Script vom Desktop (oder einen beliebigen Ordner starten)? Wollte bei Öffnen mit... einstellen, dass es mit dem Terminal geöffnet wird, aber das kann ich nicht auswählen. Brauche ich dazu eine spezielle Endung?

Wie ihr seht scheiterts an mehreren Punkten. :(

Das ist mein erstes Script das ich schreiben will und ich hab echt noch keine Ahnung davon. Doch falls es einen einfacheren Weg gibt wäre ich auch für diesen offen. Bitte - Danke! ;)

MfG, juniorclub.

PS: hatte es mit der Suche probiert, doch das ist dabei rausgekommen... :p
 
Code:
#!/bin/bash
open /Applications/Utilities/X11.app
export DISPLAY=:0.0
sleep 10
exec /sw/bin/python2.3 /sw/bin/nicotine

---
Probiere mal das.
 
Zuletzt bearbeitet:
dir fehlt da ein "export DISPLAY=:0"
vor dem aufrufen von nicotine...

wenn du das skript .sh nennst, sollte es automatisch dem terminal zugeordnet werden
 
Zuletzt bearbeitet:
Vielen Dank!

Im Terminal läuft es nun, blockiert aber das Terminal solang X11 läuft. Gibt es da eine Möglichkeit dass ich das Terminal trotzdem nutzen kann ohne ein weiteres aufzumachen? Ev. im Hintergrund laden? Geht mit & am Ende, oder? Nur weiß ich nicht ob das hinter python2.3 oder nicotine gehört.

Leider kann ich es trotz der .sh Endung nicht mit dem Terminal öffnen (unter Öffnen mit...). Was kanns da haben?

MfG, juniorclub.
 
Das & gehört hinter den gesammten Aufruf... Du übergibst an Python das nicotine (damit ist das nur ein Aufruf). Dahinter das & um es nicht als Childprozess zu starten.
 
Vielen Dank! :)

Es läuft nun auch vom Desktop aus. Die Datei heißt Nicotine.sh und wird mit dem Terminal geöffnet. Was müsste ich machen damit ich sie zwischen die anderen Applikationen ins Dock schieben kann? Derzeit kann ichs nur rechts beim Papierkorb ablegen. Wobei das auch schon ok ist. ;)

Eine Frage hätt ich noch: Was muss ich verändern damit sich das Terminalfenster schließt? Denn wenn ichs das File starte wird ein extra Terminal Fenster geöffnet das dann übrig bleibt, da ich sowieso eines offen habe und das xterm Fenster auch noch herumkugelt. Oder muss das Fenster weiterlaufen, da sonst der Prozess gekillt wird?

MfG, juniorclub.
 
da du es mit & startest kannst du es eigenltich schliessen.... Was passiert wenn du ein

exit

ans ende des Scripts setzt?
 
wenn er den controlling terminal schliesst, schliesst auch alle child prozesse des terminals...
 
Ja, aber wenn er den Prozess mit dem trailing-& startet werden sie eben nicht als Child-Prozesse ausgeführt..
 
juniorclub schrieb:
Eine Frage hätt ich noch: Was muss ich verändern damit sich das Terminalfenster schließt?
. . .
Oder muss das Fenster weiterlaufen, da sonst der Prozess gekillt wird?
Versuch's mal so:
Code:
#!/bin/bash
open /Applications/Utilities/X11.app
export DISPLAY=:0.0
sleep 10
nohup /sw/bin/python2.3 /sw/bin/nicotine &
exit

Gruß,

?=?
 
?=? schrieb:
Versuch's mal so:
Code:
#!/bin/bash
open /Applications/Utilities/X11.app
export DISPLAY=:0.0
sleep 10
nohup /sw/bin/python2.3 /sw/bin/nicotine &
exit
Hab das soeben probiert aber das Fenster (Terminal) bleibt offen:
Code:
logout
[Prozess beendet]
Ich kanns dann nur mehr schließen.

MfG, juniorclub.
 
ja, das exit beendet die Sitzung aber nicht das Terminal.... ;) Fällt mir da gerade ein..
 
Musst du in den Einstellungen vom Terminal ändern. Dort kann man einstellen das sich das Terminal schließt nach dem Verlassen der Sitzung.
 
Ok. Das Fenster schließt sich doch nun habe ich ein komisches Problem. Wenn ich das Terminal starte wird automatisch Nicotine gestartet und das Fenster geschlossen. Dabei gebe ich nichts ein. Beim Terminal Start steht schon: ...nicotine; exit und ich kann nichts mehr machen.

Hat bitte jemand einen Tipp wie ich mein Terminal wieder zurückkriege? Ich kann so nichts machen. Sobald ich aufs Terminal Symbol im Dock klicke startet Nicotine. Und ich komm zwar in die Einstellungen aber nicht in das Informationsmenü da sich das Fenster sofort schließt. Uiuiui...

Danke dass ihr soviel Ausdauer habt! ;)

MfG, juniorclub.
 
Dein User-Ordner->Library->Preferences->com.apple.Terminal.plist
 
Der DAU bedankt sich, doch das Problem tritt wieder auf. D.h. ich müsste nun jedesmal nachdem ich Nicotine über dieses Script gestartet habe die plist löschen? :(

Mit frisch gelöschter plist funktionierts wunderbar.

MfG, juniorclub.
 
schau mal nach

http://developer.apple.com/darwin/runningx11.html

(gefunden auf macnews),

da wird erwähnt, dass man X11 Programme einfach doppelclicken kann (hab ich für /sw/bin/wish mal getestet, da musste ich aber X11 manuell auswählen, aber mittels "Always open with .." könnte es gehen)

außerdem wird da der Befehl "open-x11" erwähnt, mit dem man vom Terminal (nicht xterm) aus X11 Programme starten kann.

vielleicht hilfts ...

Gruss!
 
Bau dir 'n .term file:

- Terminal aufmachen
- Einstellungen so vornehmen, dass es am Ende geschlossen wird
- Ablage > Sichern unter...
- "Diesen Befehl ausführen . . ." <Dein Script>

Und das .term file ins dock ziehen.


Gruß,

?=?
 
Zurück
Oben Unten