Действительно существует обман. Перенесите код с RunWithElevatedPrivileges.
Необходимо пойти с NX. Это, точно так же, как vnc, но оптимизированный, таким образом, это намного быстрее и более быстро на Вашем экране. Также легче подготовить профили к Вашим пользователям.
можно установить NX, таким образом, он не позволяет пользователям уже снова соединиться с открытые сессии с:
DISABLE_PERSISTENT_SESSION
в/etc/nxserver/node.conf файле.
Можно также установить команду, Вы хотите быть запущенными при входе в систему в клиентской конфигурации NX. Можно, вероятно, сделать это в конфигурации сервера, но я никогда не рыл это далеко. Так или иначе я настоятельно рекомендую, чтобы Вы взглянули на NX. Это доступно в песнях дополнительный репозиторий и в других главных дистрибутивах Linux. Это основано на работе коммерческого продукта, который является частично открыт полученный. www.nomachine.com
Короткий ответ - то, что Вы не можете сделать этого с VNC. Каждый порт TCP будет связан с уникальной сессией. Насколько я знаю, что у Вас будет та же загадка с Xpra, VNC, NX, и т.д. (идущий через сервер, как freenx, и соединяющийся через ssh обходное решение, но не идеальное!) Вы можете к обходному решению это путем записи простого типа подсистемы балансировки нагрузки приложения, но это все еще потребует одного порта на клиент.
Что касается остальной части Вашего вопроса: размеры указаны с - экран. Для того, чтобы только начать Xvnc с этих опций, что-то вроде этого должно работать:
Xvnc -screen 640x480x8 :100
Сессия Xvnc и запуск приложения: Я поместил бы все это в сценарий и запустил бы его с xinet.d
Хитрая часть должна препятствовать тому, чтобы пользователи снова соединились с существующей сессией. Это - необычное требование, так как это - одна фундаментальная функция VNC. Вы можете сходить с рук парсинг вывода процесса Xvnc и уничтожения его (с приложением), когда Вы видите событие разъединения. Для уничтожения Xvnc, когда приложение завершается, просто ожидайте appication, чтобы завершиться в Вашем сценарии и уничтожить Xvnc, если это все еще работает в той точке.