@John__Psina

Как избежать выхода из системы на windows server?

Цель - запустить на удаленном арендованном сервере программу, для работы которой требуется визуальный рабочий стол (чтобы делался скриншот, открывались окна браузера и тд.) Программа успешно запускается, но при отключении от сервера происходит выход из системы и все перестает работать. Как этого избежать?
При отключении RDP все перестает работать.
При отключении от сеанса TeamViewer перестает работать.
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
Вангую что ты ошибся с трактовкой происходящего. Приложение, а точнее браузер, остается работающим, но браузер детектирует отключение пользователя и воспринимает его как минимизацию, отключая или замораживая фоновые процессы. Кажется это особенность браузеров, основанных на хромиум, а вот фаерфокс должен продолжать работать. Еще момент, большинство приложений симуляции действий пользователя, так же не могут работать в терминальной консоли.
spoiler
В windows (и сервер и клиент версии) существует два типа консоли - терминальная, та что создается при подключении rdp (таких консолей может быть одновременно активно несколько, в зависимости от типа и количества лицензий для серверных), и основная - та что создается при входе через физический монитор и клавиатуру (кстати, без установки aster эта консоль может быть одна активна). Не серверные ревизии не позволяют быть активным одновременно нескольким консолям, т.е. либо терминальная либо основная (было приложение rdpwrap убирающее это ограничение но майкрософт отметила это вирусом и активно ломает его работоспособность). Основная консоль будет отключена (т.е. будут невозможны симуляции кликов мыши или клавиатуры), если произведется ее блокировка, а с терминальной консолью происходит это при отключении пользователя.

Способы борьбы с этим - либо использовать основную консоль либо использовать лайфхак - каскадное подключение терминальных сессий.

Создаешь двух пользователей - основной, под которым запускается твое приложение и вспомогательное, через которое будет происходить удаленное подключение. Теперь достаточно подключиться сначала через вспомогательного пользователя, а затем внутри этой сесси подключиться терминалом к localhost под основным пользователем, и в этой вложенной сессии запустить нужное приложение. При отключении вспомогательного пользователя (не logout а disconnect), основное подключение будет продолжать работать как активное.
Ответ написан
@d-stream
Готовые решения - не подаю, но...
FreeRDP умеет держать даже безгуёвую сессию.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы