X11 mit source von Java aus starten

  1. dideldum

    dideldum Thread StarterMacUser Mitglied

    Mitglied seit:
    04.01.2007
    Beiträge:
    15
    Zustimmungen:
    0
    Hi,

    der Start von X11 aus Java geht wie folgt:

    Runtime.getRuntime().exec( new String[]
    { "open", "/Applications/Utilities/X11.app"
    });


    IN der X11-Konsole kann ich dann eine Batch-Datei aufrufen mit

    source batch-txt

    Wie kann ich obige beiden Schritte kombinieren?
    D.h. X11 mit der Batch-Datei zusammen von Java aufrufen???

    Für jede Hilfe wäre ich super-dankbar :confused:

    Thomas
     
    dideldum, 04.01.2007
  2. ybasket

    ybasketMacUser Mitglied

    Mitglied seit:
    17.01.2006
    Beiträge:
    325
    Zustimmungen:
    3
    vielleicht geht sowas mit AppleScript, welches sich über osascript an der Shell ansprechen lässt.
    Leider kenn ich mich da nicht gut genug aus, aber über die GUI-Skripting Komponente müsste das gehen.

    Ist aber ziemlich umständlich, wofür brauchst du das denn?
     
    ybasket, 04.01.2007
  3. dideldum

    dideldum Thread StarterMacUser Mitglied

    Mitglied seit:
    04.01.2007
    Beiträge:
    15
    Zustimmungen:
    0
    Hi Danke für das Mail.

    Also ich habe einen Befehl:

    mono mccrypt.exe Mandant /config 123456789.xml /log 123456789.log

    (Microsoft DotNet-Applikation mit mono auf dem Mac)

    Der funktioniert prima wenn ich in in X11 manuell eingebe.

    Aber eigentlich soll das alles aus dem Java Programm funktionieren.

    Aus dem Java-Programm schaffe ich aber nur X11 aufzurufen.

    Daher dachte ich vielleicht mit dem source-Befehl?
    Aber der funktioniert auch nur wenn ich ihn manuell in X11 eingebe.

    Bin schon kurz vor dem durchdrehen :mad:

    Viele Grüße
    Thomas
     
    dideldum, 04.01.2007
  4. nine_inch_nail

    nine_inch_nailMacUser Mitglied

    Mitglied seit:
    04.02.2006
    Beiträge:
    99
    Zustimmungen:
    7
    nine_inch_nail, 04.01.2007
  5. dideldum

    dideldum Thread StarterMacUser Mitglied

    Mitglied seit:
    04.01.2007
    Beiträge:
    15
    Zustimmungen:
    0
    mit OutputStream in X11 schreiben von Java aus

    Ja das wäre wirklich klasse.
    Nur scheint das auch nicht zu funktionieren:

    Jedenfalls bringt folgender Sourcecode keine Reaktion, ausser dass X11 gestartet wird:

    Process proc2 = Runtime.getRuntime().exec(new String[]{
    "open" , "/Applications/Utilities/X11.app"});
    proc2.waitFor();

    BufferedWriter out =new BufferedWriter(
    new OutputStreamWriter( proc2.getOutputStream() ) );
    out.write("mono ...");
    out.newLine();

    try { out.flush(); out.close(); } catch (Exception ex){ex.printStackTrace(); }


    und eine Exeption bei flush:
    java.io.IOException: Broken pipe
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:260)

    Zum weinen :confused:
     
    dideldum, 05.01.2007
  6. ybasket

    ybasketMacUser Mitglied

    Mitglied seit:
    17.01.2006
    Beiträge:
    325
    Zustimmungen:
    3
    das kann auch gar nicht funktionieren, da nicht X11 das Programm ausführt,
    wenn du es in xterm eintippst, sondern eine Shell (bei mir die Bash),
    die den Befehl interpretiert und ausführt.

    Probier mal:
    Process proc2 = Runtime.getRuntime().exec(new String[]{
    "open" , "/Applications/Utilities/X11.app"});
    proc2.waitFor();


    Process procBash = Runtime.getRuntime().exec(new String[]{
    "/usr/bin/bash"});
    procBash.waitFor();

    BufferedWriter out =new BufferedWriter(
    new OutputStreamWriter( procBash.getOutputStream() ) );
    out.write("mono ...");
    out.newLine();
    out.flush();

    vielleicht geht, ich kann es allerdings nicht garantieren.
     
    ybasket, 05.01.2007
  7. dideldum

    dideldum Thread StarterMacUser Mitglied

    Mitglied seit:
    04.01.2007
    Beiträge:
    15
    Zustimmungen:
    0
    bash nicht da

    Hi ybasket,

    das hört sich super-klasse an.
    Aber bash habe ich wohl nicht.
    Auch nicht das Verzeichnis /usr/bin/bash

    Gibt es Alternativen?
    mein Rechner ist absolut Standard-installiert : Intel Core Duo Mac OS X 10.4.8.

    :o

    Vielen Dank!!!
     
    dideldum, 05.01.2007
  8. moses_78

    moses_78MacUser Mitglied

    Mitglied seit:
    08.04.2005
    Beiträge:
    1.264
    Zustimmungen:
    22
    Der Pfad zur bash ist /bin/bash.
     
    moses_78, 05.01.2007
  9. dideldum

    dideldum Thread StarterMacUser Mitglied

    Mitglied seit:
    04.01.2007
    Beiträge:
    15
    Zustimmungen:
    0
    mit dem OutputStream unter java die Eingabe von Xterm in X11

    ok, mit

    Process procBash = Runtime.getRuntime().exec(new String[]{
    "open",
    "/bin/bash"});
    procBash.waitFor();


    öffnet sich das bash-Terminal.

    Obiger Source scchreibt hier aber nichts rein. Also keine weitere Reaktion.

    Manuelle Eingabe in das bash-Terminal führt leider auch zu einem Fehler.

    D.h. ich müsste statt der bash irgendwie mit dem OutputStream unter java die Eingabe von Xterm in X11 erreichen. Nur da funktioniert mein Aufruf.

    Was habe ich mir da nur ausgesucht.... :confused:
     
    dideldum, 05.01.2007
  10. dideldum

    dideldum Thread StarterMacUser Mitglied

    Mitglied seit:
    04.01.2007
    Beiträge:
    15
    Zustimmungen:
    0
    Eingabe in XTerm von Java aus

    Hmmm, scheint irgendwie ein Ding der Unmöglichkeit zu sein - oder?
    Dabei ist es auf Windows so einfach.
    Oder mach ich alles verkehrt???:cake:
     
    dideldum, 07.01.2007
Die Seite wird geladen...
Ähnliche Themen - X11 source Java
  1. Gingi
    Antworten:
    2
    Aufrufe:
    2.895
    oneOeight
    25.02.2011
  2. twr
    Antworten:
    3
    Aufrufe:
    1.463
  3. danielf
    Antworten:
    4
    Aufrufe:
    538
  4. Kaito
    Antworten:
    11
    Aufrufe:
    715
  5. I_am
    Antworten:
    7
    Aufrufe:
    610