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.org