Alternativen zu xmove, xpra

11

Ein paar Hintergrundinformationen: Ich habe es mit einer Software zu tun, die Teil eines größeren Systems ist. Die meisten Teile des Systems verfügen über einen Hintergrundprozess, der kontinuierlich ausgeführt wird, und eine GUI, die geöffnet werden kann, wenn diese Funktionalität benötigt wird. Die spezielle Software, die mir Probleme bereitet, wurde stattdessen als ein einziges Programm geschrieben, das sowohl die GUI als auch die Hintergrundverarbeitung enthält. Dies bedeutet, dass die GUI immer ausgeführt werden muss, da sonst die zugehörige Verarbeitung nicht stattfinden kann. Dies ist (aus mehreren Gründen) nicht erwünscht.

Um dieses Problem zu umgehen, habe ich verschiedene X-Pseudoserver untersucht, mit denen ich das GUI-Fenster entsprechend ein- und ausblenden kann. Die drei, die ich mir speziell angesehen habe, sind xmove , ximove und xpra

xmove ist sehr alt (wurde seit November 1997 nicht mehr entwickelt) und unterstützt keine 24-Bit-Grafik, was kein Starter ist.

Ich habe auch etwas namens ximove gefunden . Der Autor Mark C. Ballew startete es mit der Absicht, xmove zu verbessern (XIMove≡Xmove Improved). Auf seiner Website sieht es jedoch so aus, als ob das letzte Status-Update am 16.08.04 stattgefunden hat. Es enthält Links zu http://forum.ximove.com/, das anscheinend nicht mehr existiert.

xpra scheint die vielversprechendste Option zu sein, aber es hat nicht ganz wie erhofft funktioniert. Ich bekomme viele Fehler, wenn ich mich über "Kairo" beschwere, was in keiner der xpra-Dateien behandelt wird, in denen Abhängigkeiten behandelt werden. Trotzdem funktioniert das Programm für kleine Anwendungen wie einen Webbrowser. Wenn ich versuche, es für mein Problemprogramm zu verwenden, erhalte ich viel mehr Fehler (Kairofehler und andere). und sowohl xpra als auch die Anwendung selbst scheinen abzustürzen.

Ich möchte eine Neuinstallation der neuesten Version von xpra ausprobieren, frage mich aber, ob einer von euch einen Einblick in andere X-Pseudoserver-Anwendungen hat, die ich ausprobieren sollte.

demarcmj
quelle
1
Müssen Sie nur Fenster ausblenden oder müssen Sie Ihr Programm ohne X ausführen können? Hast du Xvfb ausprobiert?
Ich glaube nicht , müssen sie laufen ohne X, obwohl das funktionieren würde. Ich brauche nur eine Möglichkeit, es auszuführen, ohne sichtbar zu sein. Wenn der Benutzer auf eine Schaltfläche in einer Wrapper-GUI klickt, wird diese App anscheinend gestartet, aber tatsächlich wird sie nur sichtbar. Ich habe Xcfb nicht ausprobiert, aber ich habe es kurz untersucht, als ich Ihre Antwort sah, und ich bin mir nicht sicher, ob es das ist, wonach ich suche ... es sieht nicht so aus, als ob ich nach dem Starten des Programms ohne X kann es jemals an einen echten Xserver anhängen, wenn ich möchte. Haben Sie Erfahrung damit, mir zu sagen, dass dies nicht der Fall ist?
2
Xvfb ist ein virtueller Framebuffer X-Server. Sie können es mit Xvfb :1starten und Ihr Programm mit starten DISPLAY=:1 yourprogram. Auf diese Weise wird in Ihrer X-Sitzung keine Benutzeroberfläche angezeigt, und Sie können weiterhin mit der Benutzeroberfläche Ihres Programms interagieren, indem Sie beispielsweise den an die Xvfb-Sitzung angeschlossenen VNC-Server starten. Eine andere Möglichkeit, die Benutzeroberfläche auszublenden, könnte die -geometryBefehlszeilenoption sein, die normalerweise von xlib-basierten Programmen analysiert wird.
Das Problem ist, wenn ich das Programm auf diese Weise starte, gibt es keine Möglichkeit, es jemals sichtbar zu machen, ohne es zu beenden und neu zu starten. Mit Pseudoservern hingegen können Sie einen XServer fälschen, wenn Sie ihn nicht benötigen, und ihn dann auf eine echte Anzeige weiterleiten, wenn Sie ihn möchten. Kann ich das mit Xcfb machen? Es scheint nicht so, als ob ich es kann (aber ich bin kein Experte). Es scheint ein großartiges Werkzeug zu sein, wenn ich es immer versteckt haben möchte, aber nicht, wenn ich es manchmal sehen muss.
3
Hinweis: Es gibt verschiedene Versionen von xpraFloating Around. Diejenigen, die in den meisten Distributions-Repositories bereitgestellt werden, sind absolut veraltet. Versuchen Sie die spätere Version von xpra.org
Piskvor verließ das Gebäude am

Antworten:

1

Was Piskvor in den Kommentaren gesagt hat. Probieren Sie eine neuere Version von xpra aus. Spielen Sie mit den Einstellungen und deaktivieren Sie Dinge, die Sie nicht benötigen, wie die Audio-Weiterleitung. Es kann gemacht werden, um es gut zu funktionieren.

Krupan
quelle
0

Sie können versuchen, einen VNC-Server wie Xvnc , TightVNC oder TigerVNC zu verwenden .

Sie können auch VirtualBox (mindestens Version 5) verwenden, ein Betriebssystem und Ihr Programm in einer virtuellen Maschine installieren. Wenn Sie Ihre VM im "abnehmbaren" Modus starten, können Sie alle VirtualBox-Fenster schließen und die VM am Laufen halten. Anschließend können Sie die VirtualBox-Benutzeroberfläche neu starten und erneut eine Verbindung zur VM herstellen.

johnLate
quelle