Trochę podstawowych informacji: mam do czynienia z oprogramowaniem, które jest częścią większego systemu. Większość elementów systemu ma ciągły proces działający w tle oraz graficzny interfejs użytkownika, który można otworzyć, gdy potrzebny jest ten element funkcjonalności. Konkretne oprogramowanie, które sprawia mi problemy, zostało napisane jako pojedynczy program zawierający zarówno GUI, jak i przetwarzanie w tle. Oznacza to, że GUI musi zawsze działać, w przeciwnym razie powiązane przetwarzanie nie będzie miało miejsca. Nie jest to pożądane (z wielu powodów).
Aby obejść ten problem, zajrzałem do różnych pseudoserwerów X, które pozwolą mi odpowiednio pokazać / ukryć okno GUI. Trzy, na które patrzyłem, to w szczególności xmove , ximove i xpra
xmove jest naprawdę stary (nie został opracowany od listopada 1997 r.) i nie obsługuje grafiki 24-bitowej, co nie jest starterem.
Znalazłem też coś o nazwie ximove . Autor Mark C. Ballew rozpoczął go z zamiarem ulepszenia xmove (XIMove≡Xmove Improved). Ale patrząc na jego stronę internetową wygląda na to, że ostatnia aktualizacja statusu to 8/16/04 i zawiera link do http://forum.ximove.com/, który już nie istnieje.
xpra wydaje się najbardziej obiecującą opcją, ale nie działała tak, jak się spodziewano. Dostaję wiele błędów narzekających na „Kair”, który nie jest objęty żadnym z plików xpra omawiających zależności ... niemniej jednak program działa w przypadku małych aplikacji, takich jak przeglądarka internetowa. Kiedy próbuję użyć go w moim programie problemowym, otrzymuję o wiele więcej błędów (błędy Cairo i inne). a zarówno xpra, jak i sama aplikacja wydają się zawieszać.
Próbuję wypróbować czystą instalację najnowszej wersji Xpry, ale zastanawiam się, czy któryś z was ma wgląd w inne aplikacje pseudoservera X, które powinienem wypróbować.
Xvfb :1
uruchomić i uruchomić swój program za pomocąDISPLAY=:1 yourprogram
. W ten sposób nie zobaczysz żadnego interfejsu użytkownika w sesji X i nadal będziesz mógł wchodzić w interakcje z interfejsem programu, na przykład uruchamiając serwer VNC podłączony do sesji Xvfb. Innym sposobem na ukrycie interfejsu użytkownika może być-geometry
opcja wiersza poleceń, która jest zwykle analizowana przez programy oparte na xlib.xpra
latania; te dostarczone w większości repozytoriów dystrybucji są bardzo nieaktualne. Wypróbuj późniejszą wersję z xpra.orgOdpowiedzi:
Co Piskvor powiedział w komentarzach. Wypróbuj nowszą wersję Xpra. Graj z jego ustawieniami, wyłącz rzeczy, których nie potrzebujesz, np. Przekazywanie dźwięku. Można sprawić, aby działał dobrze.
źródło
Możesz spróbować użyć serwera VNC, takiego jak Xvnc , TightVNC lub TigerVNC .
Możesz także użyć VirtualBox (co najmniej wersja 5), zainstalować system operacyjny i swój program na maszynie wirtualnej. Jeśli uruchomisz maszynę wirtualną w trybie „odłączalnym”, możesz zamknąć wszystkie okna VirtualBox i utrzymać maszynę wirtualną w działaniu. Następnie możesz ponownie uruchomić GUI VirtualBox i ponownie podłączyć się do maszyny wirtualnej.
źródło