LabVIEWForum.de
Application ohne GUI - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Application ohne GUI (/Thread-Application-ohne-GUI)



Application ohne GUI - Hollo - 18.04.2008 13:21

Hallo,

ich möchte unter LINUX eine Application bauen, die ich dann per cronjob ausführen will. Dafür ist es erforderlich, dass das Programm ohne Graphikoberfläche ausgeführt wird. Kann man die GUI irgendwie ausschalten?

Vielen Dank
Hollo


Application ohne GUI - RoLe - 18.04.2008 14:25

Unter Windows geht das soweit ich mich erinnern kann:
- entweder ein Service machen statt ein Programm
- oder mittel API das Frontpanel ausblenden.

Ob es das unter Linux auch gibt/geht weiss ich (noch) nicht.
Bin gerade dabei die tiefen des UNIX/Linux zu erforschen.

Wenn es irgendwie geht, poste doch die Lösung hier.


Application ohne GUI - rolfk - 20.04.2008 17:14

' schrieb:Unter Windows geht das soweit ich mich erinnern kann:
- entweder ein Service machen statt ein Programm
- oder mittel API das Frontpanel ausblenden.

Ob es das unter Linux auch gibt/geht weiss ich (noch) nicht.
Bin gerade dabei die tiefen des UNIX/Linux zu erforschen.

Wenn es irgendwie geht, poste doch die Lösung hier.

Also eigentlich geht es nicht. Auch unter Windows als Service hat ein LabVIEW Programm ein Frontpanel alleine ist das nicht sichtbar da Windows es in einem unsichtbaren Context ausführt. Unix kennt das nicht, da sind Programme in erster Linie einfach Programme die typisch eine Kommandline haben und sich je nach Wunsch und Laune noch auf einen Windows Manager verlassen um ein grafisches UI zu haben. LabVIEW ist leider so heftig mit dem grafischen UI verknüpft, dass es ohne nicht geht. Und unter Unix will LabVIEW gerne direkt mit X-Windows kommunizieren. Es war zwar mal die Rede davon das LabVIEW auch ohne X-Windows lauffähig sein sollte und jemand von NI hat sogar gesagt dass das eigentlich wünschenswert ist aber noch nicht möglich. Ob da inzwischen etwas in die Richtung getan wurde weiss ich nicht, aber ich bezweifle es eher, da das nicht gerade eine typische LabVIEW Anwendung ist.

Du kannst aber einen Trick machen indem Du das Frontpanel Deines HauptVIs ganz klein machst und dann ausserhalb des sichtbaren Bildschirms plaziert (also etwas wie -100,-100). Zumindest unter Windows funktioniert das perfekt. Aber unsichtbar machen des Frontpanels indem man es "hidet" geht leider nicht zuverlässig in kompilierten Applikationen, da eine LabVIEW Applikation immer mindestens ein Frontpanel "sichtbar" haben muss, ansonsten denkt das Runtimesystem dass nichts mehr nötig ist und beendet die Applikation unmittelbar.

Aber ohne funktionierendes X-Windows unter Linux geht es wohl so oder so noch immer nicht.

Rolf Kalbermatter


Application ohne GUI - Hollo - 21.04.2008 10:32

Vielen Dank für die Tips!

Meine Intention war, alles ohne X-Window laufen zu lassen. Scheinbar geht das ja nun nicht...da muss ich mir wohl was anderes einfallen lassen.

Grüße
Hollo


Application ohne GUI - VDB - 21.04.2008 11:27

' schrieb:Vielen Dank für die Tips!

Meine Intention war, alles ohne X-Window laufen zu lassen. Scheinbar geht das ja nun nicht...da muss ich mir wohl was anderes einfallen lassen.

Grüße
Hollo

Dazu noch folgendes:

http://forums.ni.com/ni/board/message?boar...id=41238#M66395

VDB


Application ohne GUI - RoLe - 21.04.2008 14:01

' schrieb:Also eigentlich geht es nicht. Auch unter Windows als Service hat ein LabVIEW Programm ein Frontpanel alleine ist das nicht sichtbar da Windows es in einem unsichtbaren Context ausführt.

OK, wenn man es wörtlich nimmt, da gebe ich dir recht. Ohne geht nicht, aber unsichtbar machen geht.

' schrieb:Du kannst aber einen Trick machen indem Du das Frontpanel Deines HauptVIs ganz klein machst und dann ausserhalb des sichtbaren Bildschirms plaziert (also etwas wie -100,-100). Zumindest unter Windows funktioniert das perfekt.

Ach ja genau, an den "Trick" habe ich gar nicht mehr gedacht.

' schrieb:Aber unsichtbar machen des Frontpanels indem man es "hidet" geht leider nicht zuverlässig in kompilierten Applikationen, da eine LabVIEW Applikation immer mindestens ein Frontpanel "sichtbar" haben muss, ansonsten denkt das Runtimesystem dass nichts mehr nötig ist und beendet die Applikation unmittelbar.

Ich widerspreche dir ja ungern, und vermutlich liege ich auch wieder falsch, aber bei mir funktioniert das so mit dem "hidet".
Entweder mit der Methode "OpenFP" oder mit der User32/ShowWindow geht das bei mir, mit W2k.

Ich habe das schön oft gelesen, das mind. ein FP sichtbar sein muss, aber nachvollziehen (RT beendet) konnte ich das noch nie.
Vermutlich sind die beiden Methoden gleich wie bei dem Service, das Fenster wird in den unsichtbaren Contex verschoben, und daher funktioniert das?

Oder warum/wann ist ein Fenster richtig unsichtbar?
Wenn es im Taskmanager nicht mehr sichtbar ist ?

Danke und Gruss
Roland


Application ohne GUI - dc6xs - 21.04.2008 18:29

Man kann ja auch gerne dem VI ein Frontpanel verpassen, gerade das Debuggin erleichtert es vielleicht.
Aber man kann das Problem auch anders lösen, es gibt einen Xservert Namens Xnest, mit dem man ein X im X erzeugen kann, genauso gibt es einen Xvnc-Server, der halt als Server wo läuft und auf eine Verbindung von einem VNC-Client wartet..

Beide Xserver brauchen keine Graka, es könnte aber sein das LV eventuell Probleme macht, weil die Server nicht alle Features von X11R6(/7) unterstüzen, so wie ein "echter" X-Server der auf ne Graka arbeitet..


Gruß,
Robert

BTW: Um was für ein Projekt/ eine Aufgabe geht es eigentlich? Nicht das ich Dir da die Arbeit wegnehmen will, aber eventuell gib es ausserhalb des LV-Universums schon etwas, was die Aufgabe löst.
Teilweise finde ich das man nicht alles in LV lösen muss, auch wenns möglich wäre..Wink