Java Applikation ohne grafische Oberfläche

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Ist es möglich ein Java Programm im KDE/GNOME zu starten und wenn man dann den KDE/GNOME ausmacht, dass das Programm dann automatisch als Hintergrundprozeß läuft und nicht gekillt wird (weil er ja net zum Xlib connecten kann).


Sprich das man sagt, du hast mehr keine grafische Oberfläche, funktioniere aber trotzdem!


Geht sowas, oder weiß jemand wie das gehen könnte??


mfg
 
Auf einer Console würde ich ein Prog. einfach mit "nohup" starten; ob das unter KDE/GNOME geht: keine Ahnung!

<Edit>Um es in den Hintergrund zu bringen muß natürlich ein`&' am Ende der Kommandozeile stehen</Edit>
 
Mh, das Problem besteht ja darin, das er immer stirbt, wenn die grafische Oberfläche verschwindet!

Kann man den net irgendwie ne Grafische Oberfläche vorgaukeln??

Sodaß er sich einbildet er hat noch immer was auf was er malen kann, obwohl gar nix da ist!

Denn sobald ich die KDE wieder abmelde, stirbt auch dieser Prozess!
XIO: fatal IO error 104 (Connection reset by peer) on X Server ":0.0"
after 0 requests (0 known processed) with 0 events remaining.
 
Du müsstest den Prozess im Runlevel 3 starten lassen, denn X ist in Runnlevel 5 und wenn dieses geswitched wird streben alle Prozesse des Runnlevel 5, in welchem auch dein Javaprogramm ausgeführt wird.

Ob man von Runnlevel 5 ein Programm in niederen Runnlevel ausführen lassen kann, weiss ich leider nicht. Aber wenn du eine Möglichkeit gefunden hast, lass es mich wissen.
 
Naja, wenn ich auf die Konsole gehe (also nicht in der KDE) und sage export DISPLAY=:0.0 und das ganze mit nohup starte, geht das solange bist die KDE abgewürgt ist.

Da er anscheinend ohne XFree nichts mehr machen will. (java.awt. braucht halt ein WindowKit)

Und die KDE ist ja auch nicht ganz tod, es wird nur abgemeldet, dadurch kann ich Xvfb net starten (son Ding was einen Bildschirm vorgaukelt ^^).
 
Achso, ich vergaß dass wenn du ja X11 laufen hast das wahrscheinlich geswingt wird.

Vielleicht wäre es eine Möglichkeit, zwei Programme zu machen. Eines das auf der Konsole läuft und Ausgaben macht und das andere als GUI welches auf die Ausgaben aufsetzt und sie verarbeitet und grafisch aufbereitet.
 
Naja, das zu trennen ist jetzt bisi schwierig, da das Projekt ziemlich groß ist und uns der Kunde erst jetzt gesagt hat, das er sich manchmal abmelden will....
 
thE_29 hat gesagt.:
Naja, das zu trennen ist jetzt bisi schwierig, da das Projekt ziemlich groß ist und uns der Kunde erst jetzt gesagt hat, das er sich manchmal abmelden will....
Naja, dafür gibt es ja eigentlich einen Termin mit dem Namen "Anforderungsschluss".
Solche Anforderungen werden i.a.R. nicht umgesetzt oder kosten extra (Geld + Zeit)...
 
Das sie extra Geld kosten ist klar, aber nur weil er bei einem Programm das haben will, will ich jetzt nich das ganze Projekt umschreiben und wer weiß ob sich der Kunde über so ne Rechnung freut 😀
 
Das ist egal, da der X11 nicht mehr connecten kann und somit die ganze App abschießt ;>

Super wäre es wenn man wenn das Programm läuft von dem normalen X11 auf den Xvfb changen kann und er somit weiterläuft...

Naja, muss mir das noch genauer ansehen, wenn ich was rausfinde melde ich 😀
 
Das Programm hängt sich mit der Meldung auf


XIO: fatal IO error 104 (Connection reset by peer) on X Server ":0.0"
after 0 requests (0 known processed) with 0 events remaining.

Oder mit der Meldung:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Exception in thread "main" in java.lang.InternalError: Can´t connect to X11 windowserver using ':0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(Unknwon Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unkown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at sun.awt.motif.MToolkit.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.Toolkkit$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Unknown Source)
at at.dstore.SplashLoader.main(SplashLoader.java:183)

Und im SplashLoader auf 183 ist ein new JFrame das was am Anfang erzeugt wird...
 
damit hab ich mich auch tagelang rumgeärgert, bis, ja bis.... tataaaaaaa:

java -Djava.awt.headless=true -jar myserver.jar

hoffe das geht bei dir auch
 
Nope, dann geht die ganze App gar nima starten 😉

Hatte ich schon probiert, bevor ich den Thread aufgemacht habe 😉

Da kommt diese dann:

Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHealess(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at at.dstore.SplashLoader.splash(SplashLoader.java:130)
at at.dstore.SplashLoader.main(SplashLoader.java:153)


Hast du nur eine konsolenApp oder benutzt du auch swing?
 
Schade.

Ich benutze AWT.
Mein Server (also nicht das Programm) hat keine grafische Oberfläche, da kam auch immer dieser "Display.." Fehler.
Habe dann angefangen, alles grafische rauszunehmen, bis ich dieses tolle Flag entdeckte.
 
Mh, maybe geht das ja nur mit AWT!

Hast du den jetzt noch grafische Elemente drinnen oder nicht?
 
hö?
ich mach einfach ein Frame und pack alles rein.
Oder was meinst du?

edit: um mal Misverständnisse auszuräumen: die Elemente sind drin, werden aber nicht angezeigt, da ja eh kein Display vorhanden ist.
Vielleicht gibts ja ne Möglichkeit, das Headless aus-und einzuschalten. Glaub ich aber nicht,
sorry
 
Ich krieg wenn ich new Frame mache schon immer eine Headlessexception....

Welche JDK verwendest du?
 
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

ich glaub ich hatte anfangs auch Probleme mit anderen Versionen.
Nun geht alles, z.B. fröhlich Images aus Frames erzeugen und dyn. in HTML einbinden
 
Mh, geht bei mir auch mit java 5 net!

Ich muss mal kleine test apps schreiben und schaun obs so geht!
 
Hallo,

ich suche jemanden, der mir nach Vorgaben ein J2ME-Programm für mein Händy schreibt. Wäre gerne dabei um zu sehen wie es in etwa funktioniert und wie das Programm auf mein Handy kommt.

Am besten kommt derjenige aus der Nähe von Köln und kann dann zu mir in die Firma kommen. Oder er kommt aus dem Raum Aachen und kann zu mir nach Hause kommen. Das ganze natürlich nicht umsonst. Den Spaß würde ich mir schon EUR 10,-/Std. kosten lassen.

Bei Interesse bitte Mail an world-on-the-web@web.de

Beste Grüße an Alle
Mario Pfeiffer
 
na, das nenn ich großzügig. 10 euro, mit Anfassen oder ohne?
Ich glaub das hier ist der falsche Thread, oder spamst du einfach nur so rum?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben