Альтернативи xmove, xpra


11

Трохи довідкової інформації: я маю справу з частиною програмного забезпечення, що є частиною більшої системи. Більшість частин системи мають фоновий процес, який працює постійно, і графічний інтерфейс, який може бути відкритим, коли потрібен цей фрагмент функціональності. Конкретний фрагмент програмного забезпечення, який викликає у мене проблеми, був написаний у вигляді єдиної програми, що містить і графічний інтерфейс, і фонову обробку. Це означає, що графічний інтерфейс повинен працювати завжди, інакше пов'язана обробка не може відбутися. Це не бажано (з ряду причин).

Як вирішення, я розглядав різні псевдосервери X, які дозволять мені відобразити / приховати вікно графічного інтерфейсу у відповідних випадках. Три, на які я дивився конкретно, це xmove , ximove та xpra

xmove дійсно старий (не розроблявся з листопада 1997 року) і не підтримує 24-бітну графіку, яка не є стартером.

Я також знайшов щось, що називається ximove . Автор, Марк C. Ballew почав його з наміром покращити на xmove (XIMove≡Xmove Improved). Але, переглядаючи його веб-сайт, схоже, останнє оновлення статусу було 8/16/04, і воно посилається на http://forum.ximove.com/, який, схоже, вже не існує.

xpra здається найбільш перспективним варіантом, але він не зовсім спрацював так, як сподівались. У мене виникає багато помилок, нарікаючи на "Каїр", що не стосується жодного з файлів xpra, які обговорюють залежності ... тим не менш, програма працює для невеликих додатків, таких як веб-браузер. Коли я намагаюся використовувати його для своєї проблемної програми, я отримую набагато більше помилок (помилки в Каїрі та інші). і xpra, і сама програма, здається, виходять з ладу.

Я намагаюся випробувати чисту інсталяцію новітньої версії xpra, але мені цікаво, чи хтось із вас, хлопці, має уявлення про деякі інші додатки X pseudoserver, які я повинен спробувати.


1
вам просто потрібно приховати вікна або вам потрібно мати можливість запускати свою програму без X? Ви пробували Xvfb?

Мені не потрібно запускати його без X, хоча це спрацювало б. Мені просто потрібен якийсь спосіб запустити його, не будучи видимим, так що коли користувач натискає кнопку в графічному інтерфейсі обгортки, він, здається, запускає цей додаток, але насправді це просто зробить його видимим. Я не пробував Xcfb, але коротко вивчив його, коли побачив вашу відповідь, і я не впевнений, що це те, що я шукаю ... це не виглядає після запуску програми без X, що я коли-небудь я можу приєднати його до справжнього Xserver. Чи маєте ви з цим досвід, щоб сказати, що це не так?

2
Xvfb - це віртуальний сервер framebuffer X. Ви можете запустити його Xvfb :1і запустити програму DISPLAY=:1 yourprogram. Таким чином, ви не побачите жодного інтерфейсу користувача у своєму X-сеансі, і ви все ще можете взаємодіяти зі своїм програмним інтерфейсом, наприклад, запустивши сервер VNC, приєднаний до сесії Xvfb. Іншим способом приховати інтерфейс може бути -geometryпараметр командного рядка, який зазвичай аналізується програмами на основі xlib.

Проблема полягає в тому, що якщо я запускаю програму таким чином, немає жодного способу зробити її видимою, не вбиваючи її перезапускати. Псевдосервери, з іншого боку, дозволяють підробляти XServer, коли він вам не потрібен, але потім вперед на реальний дисплей, коли ви цього хочете. Чи можу я це зробити з Xcfb? Здається, я не можу (але я не фахівець). Це здається чудовим інструментом, якщо я завжди хочу його приховати, але ні, якщо мені потрібно іноді його бачити.

3
Примітка: існують різні версії xpraплаваючих навколо; ті, що надаються у більшості дистрибутивів дистрибутивів, жахливо застаріли. Спробуйте пізнішу версію сайту xpra.org
Пісквор вийшов з будинку

Відповіді:


1

Про що в коментарях сказав Пісквор. Спробуйте новішу версію xpra. Пограйте з його налаштуваннями, відключіть речі, які вам не потрібні, як переадресація аудіо. Це можна зробити так, щоб це добре працювало.


0

Ви можете спробувати використовувати сервер VNC, наприклад Xvnc , TightVNC або TigerVNC .

Ви також можете використовувати VirtualBox (принаймні версія 5), встановити операційну систему та свою програму у віртуальній машині. Якщо ви запускаєте свій VM в режимі "знімного", ви можете закрити всі вікна VirtualBox і продовжувати роботу VM. Потім можна перезапустити графічний інтерфейс VirtualBox і повторно приєднатись до VM.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.