# Tip: Gui basierende Javaprogramme unter Linux ohne X



## Kaffeebohne (23. Mai 2005)

Manchmal steht man vor dem Problem unter Linux, dass man ein Javaprogramm mit GUI ohne einen XServer laufen soll.

Hierbei kann man sich die xvfb-Bibliothek zu nutze machen, welche man in den Umgebungen von XFree oder XOrg findet.
In der Bibliothek ist das Script xvfb-run enthalten, welche eine vollständige X-Window Umgebung simulieren kann.


----------



## AlArenal (23. Mai 2005)

Ähem.. XVFB *ist* ein X-Server. Er simuliert ein Framebuffer-Device im virtuellen Speichern und wird häufig zum Testen eingesetzt.


----------



## Kaffeebohne (23. Mai 2005)

Das ist schon richtig, aber mit dieser Libary ist es möglich Programme welche eine GUI erfordern laufen zu lassen. Diese Bilbiothek wird zum Beispiel für OpenOffice verwendet, wenn man es auf einem Server ohne Oberfläche einstetzen will.


----------



## AlArenal (23. Mai 2005)

Dann sind wir also einer Meinug, das folgende Aussage, die suggeriert man könne mit XVFB ein GUI-Programm ohne X-Server laufen lassen, falsch ist? 



			
				Kaffeebohne hat gesagt.:
			
		

> Manchmal steht man vor dem Problem unter Linux, dass man ein Javaprogramm mit GUI ohne einen XServer laufen soll.


----------



## Kaffeebohne (23. Mai 2005)

Hmm, 

also die Umgebungen müssen wegen der Lib installiert sein, aber es muss kein X-Server gestartet werden.


----------



## thE_29 (23. Mai 2005)

Jo, dass das so geht habe ich auch schon mitbekommen nur lässt das X11 das nicht zu!

Weil er es immer schon staretet...

da hats dann nen ScreenDevice Konflikt gegeben...

Naja, ist zZ nur 2t rangig!


----------



## Kaffeebohne (23. Mai 2005)

> nur lässt das X11 das nicht zu!
> 
> Weil er es immer schon staretet...


Wie meinst du das genau?


----------



## thE_29 (23. Mai 2005)

Du musst den X11 (normalen X-Server) komplett killen, sodaß der Xvfb überhaupt läuft!

Was ich bei mir nie geschafft habe...

Bevor ich meinen Beitrag geöffnet, habe, habe ich das schon getestet, da ich net bei jedem kleinen Problem ein Board aufsuchen muss, da ich google benutzen kann


----------



## AlArenal (23. Mai 2005)

Kaffeebohne hat gesagt.:
			
		

> Hmm,
> 
> also die Umgebungen müssen wegen der Lib installiert sein, aber es muss kein X-Server gestartet werden.



Was für eine Lib?
XVFB ist keine Library, sondern eine X-Server-Implementierung, die statt einen Grafiktreiber zu laden eben über einen virtuellen Framebuffer läuft, den es emuliert und daher keine eigene Grafikhardware auf der Maschine voraussetzt.


----------



## Kaffeebohne (23. Mai 2005)

> Du musst den X11 (normalen X-Server) komplett killen, sodaß der Xvfb überhaupt läuft!


Und wenn du es mit init machst?





> XVFB ist keine Library, sondern eine X-Server-Implementierung, die statt einen Grafiktreiber zu laden eben über einen virtuellen Framebuffer läuft, den es emuliert und daher keine eigene Grafikhardware auf der Maschine voraussetzt.


Okay, da hab ich mich (vorallem für die Linuxer) falsch ausgedrückt. Es ist keine Libary, sondern ein Programm (wenn der Quelltext kompiliert ist)


----------



## AlArenal (23. Mai 2005)

Kaffeebohne hat gesagt.:
			
		

> > Du musst den X11 (normalen X-Server) komplett killen, sodaß der Xvfb überhaupt läuft!
> 
> 
> Und wenn du es mit init machst?



Was hat das Runlevel damit zu tun??


----------



## Kaffeebohne (23. Mai 2005)

Weil man per Runlevel einstellen kann welche Dienste mitgeladen werden.


----------



## thE_29 (23. Mai 2005)

Tjo, aber die benötigten Services schalten sich erst bei init 5 ein 

Also ist das auch wieder blöd...


----------



## Kaffeebohne (23. Mai 2005)

Welche Prozesse? Wenn die kein X brauchen dann lass sie doch schon in  Runlevel 3 starten.


----------



## thE_29 (23. Mai 2005)

Es ist ein Unterschied ob X11 gebraucht wird und nur währrenddessen die KDE ausgeschaltet wird, oder ob man nie welche braucht!

Man arbeitet ja ganz normal und erst am Ende startet man das Programm "Filialabschluss" und geht heim...

Wegen dem jetzt auf runlevel 3 schalten ist ziemlich blöd....

außerdem sind dann die ganzen benötigten Services weg, also würde es sowieso nima gehn! (ein Programm im RL für Kunden besteht net nur aus 1 app, da können services und viele andere Dinge zusammenspielen )


----------



## Kaffeebohne (23. Mai 2005)

Ich weiss doch nicht welche Software aus den Kisten läuft, deshalb hab ich einfach mal drauf spekuliert, dass es sich vielleicht um irgendwelche Serverdienste handelt, welche auch in RL 3 laufen und man so das Problem beheben könnte.

Erstens ist es nur gutgemeint und zweitens interessiert mich die Lösung für dein Problem, da ich damit rechne damit später auch konforntiert zu werden.


----------



## thE_29 (23. Mai 2005)

Hrhr 

An der Lösung arbeite ich eh gerade...

Ich lasse ein kleines Programm welches mir nur die Daten ausrechnet, bereitstellt, etc via nohup starten und im normalen Programml lese ich nur die Ergebnisse ein!

Schießt man nun die KDE ab, so läuft das nohup Programm (da es keine grafische Oberfläche hat) weiter und rechnet brav, nur die Ausgabe der Ereignisse macht halt das eine Programm und falls das abgewürgt wird, isses auch egal


----------

