Астер и WinXP SP2 Terminal Services

Все вопросы практического направления. Видеокарты и другое "железо", особенности работы, настройка Windows и приложений, обнаруженные ошибки, нежелательные эффекты и прочее.

Модератор: mercenary

Гость

Астер и WinXP SP2 Terminal Services

Сообщение Гость » Чт авг 04, 2005 18:20

Думаю, многим пригодится.
Если нет желания устанавливать Win2k3 SRV (и много памяти :wink: ), то воспользовавшись данным "хаком" можно дополнительно подключаться к компьютеру по RDP неограниченному (память...) числу пользователей.
Это работает совместно с Астером(demo) и позволяет использовать компьютер на x*100%.

aleks
Сообщения: 107
Зарегистрирован: Пн июн 27, 2005 13:13

Сообщение aleks » Чт авг 04, 2005 18:21

P.S> Это мое сообщение.

AlexeyPetrov
Сообщения: 3
Зарегистрирован: Сб авг 20, 2005 0:19
Откуда: Москва
Контактная информация:

АСТЕР как Terminal Server

Сообщение AlexeyPetrov » Сб авг 20, 2005 0:20

Некто aka (видимо, Андрей Александрович Ковалёв - разработчик RDP-клиента WTWare) уже задавал вам очень аргументированно мой вопрос тут, но ответа на форуме я так и не нашёл... Поэтому повторюсь:
Что мешает развить программу АСТЕР до полноценного Terminal Server'а на основе однопользовательских Windows 2000/XP?

Виной тому лицензионная политика Microsoft, запрещающая использовать однопользовательскую ОС несколькими людьми одновременно? Но чем это принципиально отличается от того, что делает АСТЕР сейчас? Вы даёте одновременный доступ для 2-6 человек к такой ОС с нескольких терминалов, только не по сети, а с дополнительных устройств (мониторов/манипуляторов).

Указанный выше "хакнутый" (а точнее взятый из ранней бета-версии Win XP SP2) вариант библиотеки termserv.dll частично решает эту задачу. НО только на Windows XP Professional с установленным Service Pack 2. А как быть тем, кто "недолюбливает" этот SP2 по разным причинам? Или пользователям Windows XP Home Edition, где удалённый доступ вырезан на корню? Наконец, пользователям Windows 2000 Professional?
Известно, что серверные версии Windows стОят на порядок больше однопользовательских - об этом уже писал aka. Меня же больше смущает несовместимость некоторых программ с серверными Windows (некоторые антивирусы, файрволы, игры и др.), либо плохая доступность/дороговизна их же серверных вариантов.

В любом случае, подобное "дополнение" к АСТЕРУ будет чрезвычайно востребовано, т.к. полноценный терминальный сервер позволяет получить доступ к машине с любого расстояния по локальной сети и Internet, а не только в пределах SVGA/USB-кабелей, подключенных непосредственно к ней.

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Сб авг 20, 2005 1:51

Что мешает развить программу АСТЕР до полноценного Terminal Server'а на основе однопользовательских Windows 2000/XP?
Если отвечать сразу и прямо - отсутствие специалистов.

1. Кому-то придется написать собственно терминальный сервер - службу, которая управляет запуском сессий и обеспечивает их связь с ядром системы и другими службами. Для этого необходимо разбираться в недокументированных (хуже того, нестандартизованных) возможностях Windows;

2. Кому-то придется написать подсистему RDP (драйвер виртуального дисплея+драйвер протокола). Здесь рисуется картинка рабочего стола сессии, здесь же она как-то сжимается и передается на удаленный терминал. В принципе подсистему RDP можно и не делать совместимой со стандартами и написать для нее своего клиента (упомянутый aka в этом специалист, как я понимаю), но это нисколько не уменьшает ее стоимость в единицах здоровья разработчика.
_________________

АСТЕР же создавался для иной цели. Я бы даже сказал - для совсем другой цели. Мы предлагаем расширить возможности имеющегося компьютера и максимально полно предоставить эти возможности сразу нескольким пользователям без лишних проблем с установкой (монтажом), настройкой и обслуживанием системы при помощи анекдотичного "злобного админа". Мы создавали АСТЕР для игр, интернета и комфортной работы, всего того, для чего обычно используется компьютер на работе и дома.

Вся "фишка" в том, что хороший терминальный сервер уже кто-то написал (MS), а вот хороший сервер приложений еще не родился. Над последним мы и работаем. Я вовсе не критикую идею с терминальным сервером, я лишь обозначаю грань между технологиями, имеющими мало общего в применении.

AlexeyPetrov
Сообщения: 3
Зарегистрирован: Сб авг 20, 2005 0:19
Откуда: Москва
Контактная информация:

Сообщение AlexeyPetrov » Сб авг 20, 2005 14:42

Спасибо за ответ.

Мне казалось, что это значительно проще, чем то что вы уже сделали... Ведь, по сути, в тех же Windows 2000/XP Professional (не Home Edition!) удалённый доступ уже работает. Проблема лишь в том, что при удалённом подключении выключается экран у локального пользователя (хотя его сеанс и все программы продолжают работать). Аналогично, 3-й "удалённый" пользователь при подключении отключит ещё и 2-го "удалённого" (не завершая сеанс). Таким образом, локально или удалённо, но компьютером всегда может пользоваться только один человек!

Удивительно, что заменив всего одну библиотеку (termserv.dll) из чуть более ранней сборки (как описано тут), люди умудрились полностью решить эту проблему в рамках конкретной версии Windows XP с минимальным вмешательством в работу ОС (программы продолжают считать её Windows Workstation, а не Server).

Ещё оригинальней сделана утилита NTSwitch, которая превращает:
Windows NT4 Workstation -> Windows NT4 Server
Windows 2000 Workstation -> Windows 2000 Server
Windows XP Workstation -> Windows 2003 Server (хотя последний вариант работает нестабильно)
...и обратно. Причём всё исключительно изменениями в системном реестре! Никаких программ или библиотек не добавляется и не изменяется. В частности, при таком преобразовании включаются и все серверные возможности терминальной службы... Но остаётся открытым вопрос с программами, не предназначенными для серверной ОС: все начинают считать, что работают под полноценной серверной системой!

В то же время, очень странно, что разработчики из Microsoft до сих пор не включили хотя бы в серверную версию Windows функциональность, аналогичную таким программам как АСТЕР и BeTWin, позволив создавать полноценные терминальные системы: с доступом к одним и тем же сеансам как с дополнительных устройств ввода/вывода, так и по локальной сети. Ведь по сути, опять же, у них почти всё уже реализовано: АСТЕР лишь изменяет поведение их терминальной службы, что впрочем нисколько не уменьшает ваших заслуг. Возможно, в отдалённом будущем, Microsoft захочет лицензировать у вас АСТЕР, как когда-то всю их терминальную службу у компании Citrix? 8)

Кстати, как работает АСТЕР с задействованной терминальной службой Windows 2003 Server, "Удалённым помощником" (Remote Assistant) или такой программой как Remote Administrator? В частности, можно ли через них по сети подключиться к любому из сеансов, открытых локально (через АСТЕР)?

aleks
Сообщения: 107
Зарегистрирован: Пн июн 27, 2005 13:13

Сообщение aleks » Вс авг 21, 2005 13:18

AsterMaster писал(а):написать для нее своего клиента (упомянутый aka в этом специалист, как я понимаю)
нет, он всего лишь исправляет RDesktop и пишет для него другой FrontEnd под svgalib...
В рамках того-же RDesktop'а есть проект(в CVS) по созданию сервера (но у них вроде не работает со стандартным виндовым клиентом).

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Вс авг 21, 2005 16:29

AlexeyPetrov писал(а):Ведь, по сути, в тех же Windows 2000/XP Professional (не Home Edition!) удалённый доступ уже работает. Проблема лишь в том, что при удалённом подключении выключается экран у локального пользователя...
В Windows 2000 это работать никак не может. Если искусственным образом не изменить тип продукта (на Server), ядро системы попросту не позволит создать новый сеанс, т.к. для него еще при начальной загрузке не будут выделены необходимые ресурсы. В XP серверный режим включен по умолчанию во всех версиях: он обеспечивает возможность быстрого переключения пользователей (fast user switching). Эта возможность в точности соответствует тому, о чем Вы пишите (один работает, другой ждет).
AlexeyPetrov писал(а):Удивительно, что заменив всего одну библиотеку (termserv.dll) из чуть более ранней сборки..., люди умудрились полностью решить эту проблему в рамках конкретной версии Windows XP с минимальным вмешательством в работу ОС...
Нам пришлось бы написать альтернативную "библиотеку", т.к. вкладывать termsrv.dll в наш дистрибутив мы не имеем права. А ведь это не просто библиотека! Это ядро терминальной службы Windows XP.
AlexeyPetrov писал(а):Ещё оригинальней сделана утилита NTSwitch, которая превращает:
Windows NT4 Workstation -> Windows NT4 Server
Windows 2000 Workstation -> Windows 2000 Server
Windows XP Workstation -> Windows 2003 Server (хотя последний вариант работает нестабильно)
...и обратно. Причём всё исключительно изменениями в системном реестре! Никаких программ или библиотек не добавляется и не изменяется. В частности, при таком преобразовании включаются и все серверные возможности терминальной службы...
Здесь другая проблема. Действительно, сделав определенные изменения в реестре можно заставить Windows считать себя сервером и сообщать об этом другим программам, но полноценная терминальная служба от этого на компьютере не появится. Это касается прежде всего Windows 2000, у которой ядро терминальной службы (termsrv.exe) вообще отсутствует в дистрибутиве; в результате получится не сервер, а одна видимость.
AlexeyPetrov писал(а):В то же время, очень странно, что разработчики из Microsoft до сих пор не включили хотя бы в серверную версию Windows функциональность, аналогичную таким программам как АСТЕР и BeTWin
Эту возможность так просто не включишь :) Системы на базе АСТЕР и BeTwin самым непосредственным образом зависят от выкрутасов производителей оборудования, прежде всего - видеокарт. Внесли вот две известные компании небольшие изменения в свои драйвера, так мы уже три недели землю носом роем, все без толку. Microsoft до этого не опустится. Разве что навяжет производителям какие-то свои новые стандарты; а мы до этого, увы, еще не доросли.
AlexeyPetrov писал(а):АСТЕР лишь изменяет поведение их терминальной службы...
АСТЕР не использует терминальную службу ни в Windows 2000, ни в Windows XP, и сам не выполняет функции терминальной службы. АСТЕР запускает несколько первичных (primary) сеансов, в которых могут работать свои терминальные службы. В частности, в Windows XP на каждом рабочем месте АСТЕР запускает отдельную терминальную службу для поддержки возможности f.u.s.
AlexeyPetrov писал(а):Кстати, как работает АСТЕР с задействованной терминальной службой Windows 2003 Server, "Удалённым помощником" (Remote Assistant) или такой программой как Remote Administrator? В частности, можно ли через них по сети подключиться к любому из сеансов, открытых локально (через АСТЕР)?
В среде Windows 2003 Server АСТЕР работать не будет, т.к. не рассчитан на запуск в этой системе. В среде Windows 2000 Server АСТЕР нормально сосуществует с терминальной службой: наряду с запущенными рабочими местами можно запускать удаленные сеансы. Насчет удаленного помощника сложно сказать. Мы его никогда сами не запускали; в принципе он должен работать, но только с главным местом, впрочем как и radmin, потому что рабочие места АСТЕР не объединены одной общей терминальной службой (т.е. главное место, где запущены все службы, включая терминальную, ничего не знает о существовании дополнительных рабочих мест). Поэтому подключиться можно только к главному месту.

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Сообщение Святослав » Ср фев 28, 2007 20:03

Пронаблюдал сегодня интереснейшую вещь: на компьютере запущен Астер на 2-х пользователей. Оба пользователя залогинены. Захожу на этот компьютер по удалённому доступу и мне предлагают отключить сеанс и войти. Вхожу.
Что я вижу: Главное рабочее место работает как ни в чём не бывало, а на дополнительном РМ - заставка входа в систему со списком пользователей. При этом в клиенте терминалов с дальнего компа всё очень отлично работает. Т.е. 1 пользователь работает локально (на главном РМ), второй - удалённо (на дополнительном РМ). Это уже что-то!

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Ср фев 28, 2007 22:44

Непорядок

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Сообщение Святослав » Чт мар 01, 2007 10:53

AsterMaster писал(а):Непорядок
Что вы имеете ввиду? Уж не собираетесь ли вы отключить такую чудесную возможность? Вопрос договорённостей с кем-то? Я-то расчитывал, что вы, наоборот, доработаете эту функцию...

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Чт мар 01, 2007 12:23

Непорядок в том, что эти "чудеса" должны происходить на первом месте, а происходят на втором. А в остальном, всё так и должно быть, ведь запущено два терминал-сервера.

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Сообщение Святослав » Чт мар 01, 2007 20:31

Да, это непонятно. Хотя так даже удобнее. Вообще у меня на компе часто какие-то нештатные фишки возникают. Одно время при нажатии на "завершить рботу" - у меня было 3 кнопки: "Спящий режим, Выключение и Перезагрузка", тогда, как у всех нормальных людей такие кнопки: "Ждущий режим, Выключение и Перезагрузка". И только при нажатии Shift Ждущий должен превращаться в Спящий. А у меня был сразу Спящий. И мне, кстати нравилось. Правда потом, после каких-то манипуляций это дело сбилось и теперь как у всех... :( Ну это я так просто offtopic.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 46 гостей