Управление приложением, запущенным на виртуальном рабочем столе (Linux) - PullRequest
0 голосов
/ 19 июня 2009

Мне нужно запустить приложение на виртуальном рабочем столе Xorg (скажем, на рабочем столе № 2) и управлять им через другое приложение, работающее на корневом рабочем столе (рабочий стол № 1). Это будет включать захват экрана и движения мыши. В общем, я фиксирую окно приложения с рабочего стола № 2, очищаю его, а затем нажимаю на кнопки в моем приложении на рабочем столе № 1. В любом случае, у вас есть идея.

Теперь мой большой вопрос: это выполнимо? и если да, то какой язык лучше для этого?

Кстати, я использую Linux

Заранее спасибо

Люк

Ответы [ 5 ]

0 голосов
/ 10 декабря 2009

Вы можете запустить x11vnc на X-сервере, которым вы хотите управлять, а затем управлять им через VNC.

Или я думаю, что X11 позволяет имитировать события напрямую. И вы, конечно, можете захватить содержимое окна. Посмотрите на код для xwd для примера получения растрового изображения окна.

0 голосов
/ 20 июня 2009

Большинство оконных менеджеров реализуют управление рабочим столом, скрывая приложения это не должно быть показано.

Вы можете отправлять xevents на кнопки приложения. Я сомневаюсь, что вы сможете захватить содержимое экрана приложения, так как это не отображается.

Возможно, вы сможете запустить свое приложение под Xnest, а затем сможете сделать снимок экрана. содержание. Однако, по моему опыту, Xnest в некоторых случаях неправильно отображает приложения.

0 голосов
/ 19 июня 2009

Из этого поста кто-то упоминает запись событий X11 , это может привести вас к середине.

0 голосов
/ 19 июня 2009

Если вы говорите о консолях в текстовом режиме, вот это: http://ace -host.stuart.id.au / russell / files / conspy /

0 голосов
/ 19 июня 2009

Это, безусловно, выполнимо. Если вы используете VirtualBox поверх Linux, вы можете использовать протокол удаленного рабочего стола для удаленного запуска и управления виртуальной машиной.

VirtualBox поддерживает стандартный протокол удаленного рабочего стола, в котором виртуальная машина может выступать в качестве сервера RDP, что позволяет удаленно «запускать» виртуальную машину на каком-то тонком клиенте, который просто отображает данные RDP.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...