X11 Programm vom Desktop starten?

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von Junior-c, 21.01.2005.

  1. Junior-c

    Junior-c Thread Starter Gast

    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
     
  2. -Nuke-

    -Nuke- MacUser Mitglied

    Beiträge:
    2.135
    Zustimmungen:
    15
    MacUser seit:
    13.09.2003
    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: 21.01.2005
  3. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.834
    Zustimmungen:
    3.634
    MacUser seit:
    23.11.2004
    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: 21.01.2005
  4. Junior-c

    Junior-c Thread Starter Gast

    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.
     
  5. Rakor

    Rakor MacUser Mitglied

    Beiträge:
    2.785
    Zustimmungen:
    3
    MacUser seit:
    05.11.2003
    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.
     
  6. Junior-c

    Junior-c Thread Starter Gast

    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.
     
  7. Rakor

    Rakor MacUser Mitglied

    Beiträge:
    2.785
    Zustimmungen:
    3
    MacUser seit:
    05.11.2003
    da du es mit & startest kannst du es eigenltich schliessen.... Was passiert wenn du ein

    exit

    ans ende des Scripts setzt?
     
  8. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.834
    Zustimmungen:
    3.634
    MacUser seit:
    23.11.2004
    wenn er den controlling terminal schliesst, schliesst auch alle child prozesse des terminals...
     
  9. Rakor

    Rakor MacUser Mitglied

    Beiträge:
    2.785
    Zustimmungen:
    3
    MacUser seit:
    05.11.2003
    Ja, aber wenn er den Prozess mit dem trailing-& startet werden sie eben nicht als Child-Prozesse ausgeführt..
     
  10. ?=?

    ?=? MacUser Mitglied

    Beiträge:
    941
    Zustimmungen:
    14
    MacUser seit:
    09.02.2004
    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ß,

    ?=?
     
Die Seite wird geladen...

Diese Seite empfehlen