Интервью: NX - Революция сетевых вычислений?
Интервью с Фабианом Францом и Куртом Пфайфле, разработчиками FreeNX.
Том Ченс (Tom Chance), Суббота, 16 Октябрь 2004, 01:29
FreeNX, представленная на LinuxTag2004 Фабианом Францом (разработчик Knoppix) и Куртом Пфайфле (проект KDE), является свободным программным обеспечением для NX сервера, базирующимся на GPL библиотеках от NoMachine. После
недели aKademy (где за девять дней более 400 участников KDE и посетителей составляют план работы над следующим поколением KDE) Фабиан и Курт планируют, для начала, выпустить первый снапшот FreeNX сервера под GPL лицензией. В течение aKademy некоторое количество хакеров KDE работают над интеграцией NX клиента в общую структуру KDE. Knoppix-3.6 также будет содержать первую предварительную версию FreeNX.
Golem.de, немецкий сайт новостей информационных технологий, побеседовал с Фабианом и Куртом прямо перед самой aKademy. Даниэль Молкентин (Daniel Molkentin) предоставил перевод интервью (
Примечание редактора: на английский язык).
<img src=http://www.osrc.info/files/images/articles/nx_interview/pfeifle_franz.jpg />
Фотография принадлежит Pro-Linux.de На LinuxTag вы оба пустили пыль в глаза вашей свободной реализацией NX, которая также будет включена в следующие версии Knoppix...Fabian Franz: Это были не только Курт и я - по крайней мере, вовлечено было четыре человека
KDE'шник Джозеф Веннигер (Joseph Wenninger) при содействии Торстена Рана (Torsten Tahn) разработал первого kNX/FreeNX клиента.
Наша часть заключалась в запуске FreeNX Сервера.
Kurt Pfeifle: Настоящий код FreeNX сервера был полностью написан Фабианом...
На LinuxTag мы полностью продемонстрировли два компонента :
<ul><li>FreeNX Server и </li>
<li>FreeNX Client</li></ul>
Только взаимодействие двух частей допускает управление удаленными GUI соединениями даже через "" физические соединения. Даже с низкоскоростнойтехникой как аналоговые модемы или ISDN, или оба сразу, NX и FreeNX показали хорошую производительноть - даже через границы операционной системы. Очень объемное описание NX можно найти на:
Pro-Linux (немецкий).
Другой появится через несколько дней на
OSNews.
Fabian Franz: На самом деле, наша реализация FreeNX это только последний кусочек мозаики. 99,9% пришло из
GPL/NX компонентов от NoMachine, так что мы просто использовали их без изменений в FreeNX.
Жан Филиппо Пинцари (Gian Filippo Pinzari) разработал ядро за несколько лет кропотливой работы. Это компоненты NX, которые его компания NoMachine.com предлагает в виде открытых свободных исходников программного обеспечения под лицензией GPL. На самом деле, эти же компоненты используются в
коммерческих вариантах NX сервера (Personal, Small, Business и Enterprise) от NoMachine, которые основываются на FreeNX библиотеках.
Хотя NX был переведен под GPL в марте 2003, почему потребовалось более года для появиления свободных версий NX?Kurt Pfeifle: В последние 15 месяцев имели место непонимания относительно всего программного обеспечения NX, которое считалось "" несколькими Open Source разработчиками только потому, что NoMachine также базируется на них в своих коммерческих продуктах.
Не изучив поглубже NX, они отвергали его как "практически непригодную к использованию, так как только библиотеки выпущены под GPL, тогда как NoMachine NX cервер остается ". Эти предубеждения просто надуманы, на самом деле почти с самого начала NoMachine предоставляла инструменты для командной строки, включая
исходный код, который поволял каждому заинтересовавшеуся собрать полностью работающий NX туннель.
Fabian Franz: В первый раз я увидел коммерческие NX версии своими собственными глазами на CeBIT 2004, где Курт мне их показал. На меня это тотчас произвело впечатление. Но даже когда я увидел очень простой "nxtunnel" shell script Курта (который не включал серверную функциональност, а только предоставлял peer-to-peer прокси туннель NX), я не стал сразу писать код FreeNX. Сперва пришлось сломаться и умереть экрану моего ноутбука, лишь пото NX стал необходим лично мне. Это был последний толчок к написанию кода для FreeNX...
Как смотрится NX по сравнению с методами, используемыми и по сей день?Fabian Franz: Что вы имеете в виду под "методы, используемые и по сей день?" VNC? Citrix Metaframve? Удаленный доступ? PC Anyware? Tarantella?
В сравнении со всеми ними, NX оказывается лучше, будучи дешевле. К тому же в перспективе это оправдано, поскольку исходный код свободно доступен. И он более гибок, так как покрывает несколько платформ.
Kurt Pfeifle: Если имели в виду сравнение FreeNX и продукт NoMachine NX: производительноть не сильно различается. С другой стороны, вы не получите вскоре от нас контракт на поддержку FreeNX. Следовательно, вы свяжитесь с NoMachine.
Или если вам необходима новая клиентская платформа (например, Symbian), вы не найдете ее здесь. И если вам нужны развитые инструменты администрированя с графическим пользовательски или web интерфейсом: обращайтесь к NoMachine. Или найдите разработчика, кто напишет вам такую штуку...
NoMachine опубликовала NX более года назад. Но только после презентации на LinuxTag технология стала доступна широкой публике. Насколько NoMachine вовлечена в интеграцию KDE/Debian?Fabian Franz: NoMachine полностью поддерживает наши действия. Жан Филиппо Пинтари (Gian Filippo Pintari) информирует нас о планирующихся изменениях в протоколе NX и осведомляет об ошибках в нашей реализации.
NoMachine ценит совместимость между нашей Free и их коммерческой версией ровно так же, как и мы. Пользователи должны иметь возможность использовать FreeNX/KDE клиента чтобы подключиться к коммерческому NX Серверу так же, как и клиенты NoMachine NX из любой другой операционной системы должны иметь возможность получить доступ к KDE/Knoppix FreeNX серверу.
Kurt Pfeifle: NoMachine подвергает себя риску используя те же библиотеки для своих коммерческих продуктов, что они выпускают под GPL, не другие или "усовершенствова" варианты. По моему мнению, это фундаментальноеотличие их бизнес-модели от моделей Codeweavers/WINE или artofcode/Ghostscript.
Какие возможности появляются у рабзработчиков из реализации NX?Fabian Franz: Наша реализация была намеренно сделана простой. Это просто Bash-скрипт...
Удивлены? Да, верно: FreeNX сервер это Bash-скрипт, который совмещает вместе GPL библиотеки и исполняемые компоненты NX в единое работающее целое. Вся это лежало 15 месяцев без дела.
Bash означает тот факт, что каждый разработчик Linux может исправить ошибки в нашем FreeNX сервере.
Kurt Pfifle: Я был всего лишь наставником в разработке FreeNX и делал документацию. Но могу подтвердить: Фабиан не лжет...
FreeNX состоит менее чем из 500 строчек Bash-кода (в дополнении к частям исходников под GPL от NoMachine/NX)
Фабиан полностью самостоятельно занимался реализацией FreeNX сервера. Более того, Фабиан - настоящий маг Bash.
Во-вторых, эта реализация должна показать насколько "" GPL компоненты NX сегодня, спустя 15 месяцев.
В-третьих, это должно опровергнуть весь скепсис среди разработчиков FOSS, которые игнорировали NX и заявляли, что свободная реализация NX будет "слишком " без серьезного изучения исходного кода NX.
И последнее по списку, но не по значению. Мы практически не потеряли в скорости используя shell скрипты, так как основная работа выполняется с помощью прекомпилированых GPL/NX компонентов.
Fabian Franz: Открыть один маленький секрет? Первая рабочая версия FreeNX была результатом всего лишь одной ночи программировани и исходник был всего на 180 строчек
GPL компоненты NX действительно полноценны, а не являются "покалеченным ", как многие преждевременно предсказывали сразу после просмотра сайта NoMachine, но не исходников NX.
Open Source сообщество дожно быть по-настоящему благодарно NoMachine за их великолепный подарок!
Kurt Pfeifle: Разработчики могут использовать NX и FreeNX во многих случаях - также как и любой конечный пользователь. Мы надеемся, что FreeNX также привлечет разработчиков к развитию ядра NX. В нем скрыт потрясающий потенциал.
Как потоки данных в NX соединении защищаются, а также при работе через открытые сети?Kurt Pfeifle: Используя SSH.
При установлении соединения всегда используется SSH. Но сервер NX может работать и без демона SSH. После аутентификации вы полностью свободны выбирать: хотите вы шифроваться или нет. Запрет шифрования сессии может помочь старым ЦП на клиентах NX, но может использоваться только в закрытых и защищенных файрволом ЛВС.
Fabian Franz: Установленный сервер NX всегда настолько же безопасен, насколько безопасна соотвествующая инсталляция SSH. NX не запускает отдельного демона на собственном порту, а использует демона SSH для соединений.
Как NX может быть использована в больших установках с большим количеством клиентов? Каковы пределы?Kert Pfeifle: Каждая полноэкранная сессия KDE требует примерно 40 кБит/с пропускной способности для плавной работы. Это, конечно же, позволяет использовать не-KDE приложения внутри сессии, как Open Office, Mozilla или Acrobat Reader.
На каждую пользовательску сессию KDE сервер NX требует примерно 40 Мб памяти и 100 МГц процессора. Сегодняшний стандартный PC с 1 Гб памяти и процессором на 3 ГГц, позволит запустить 25 параллельных сессий без каких-либо проблем. Вероятно он сможет выдержать и 35 параллельных сессий.
Fabian Franz: Так как NX может распределяться между серверами приложений на многих узлах сети, то можно предствавить себе блэйд-сервер вроде тех, что предлагают HP или IBM, который позволит несколько сотен параллельных сессий.
В любом случае, сервер приложений NX берет барьер там, где Citrix MetaFrame сервер пасует.
Планируется ли свободный оконный клиент на основе кода NoMachine или оставлено для других разработчиков?Fabian Franz: Свободный оконный клиент еще даже не планировался. Эта задача оставлена на других. Как только KDE заработает беспроблемно под Windows, существующий клиент kNX автоматически будет также работать под Windows без каких-либо дополнительных усилий.
Клиент от NoMachine для Windows уже доступен сегодня бесплатно - и даже свободно распростаняем... Поэтому особенно большого интереса или стимула нет. Кстати, также доступны бесплатные NX клиенты от NoMachine под Linux, Solaris, Mac OS X, Zaurus, iPAQ, ThinStation и другие операционные системы. Которые бесплатны как пиво (
"free as in beer", в отличие от "free as in speech").
Kurt Pfeifle: Интересный аспект в KDE клиентах для NX это цель интегрировать его в KDE настолько тесно, насколько возможно, используя всю силу прекрасной внутренней архитектуры KDE. Это включает в себя реализацию "nx://" kio-ведомой и NX KPart просто для хранения паролей NX в KWallet.
Благодаря предоставлению возможности проведения тест-драйва Linux без установки его на жесткий диск, Knoppix Live CD весьма сильно поспособствовал популярности и помогли пропаганде Linux. Широкая доступность NX должна сделать еще более легким погружение в Linux как в операционную систему для настольных машин и рабочих станций. Удастся ли нам опробовать возможности свежайших версий KDE через NX?Kurt Pfeifle: Да.
И это возможно уже сегодня. Поскольку несколько месяцев я "злоупотребля" root сервером от "1&1", используя на нем автоматический скрипт сборки для того, чтобы делать ночные сборки самой последней KDE CVS HEAD ветви, которая быстро развивается, чтобы стать KDE 3.3.
После aKademy проект KDE будет использовать технологии NX гораздо шире, чтобы ускорить и поспособствоват своим собственным разработкам.
Fabian Franz: Надо понимать, что KDE состоит из более чем 1000 более или менее активных участников. Лишь около половины из них "технически " С++ программисты. Огромная и решающая часть работы делается художниками, переводчиками, писателями документации и бета тестерами, которым не обязательно уметь программировать
Нетехнические разработчики не стремятся использовать тестируемые версии KDE для своей повседневной работы. Они также не пересобирают еженедельно собственные KDE из ветви HEAD CVS репозитория KDE. Они ждут официальных релизов и не устанавливают их до тех пор, пока их любимый дистрибутив не предоставит пакеты обновлений.
Каждый цикл выпуска KDE в прошлом превращался в большой разрыв: авторы документаций, переводчики и художники отставали со своей работы на месяцы от текущих исходников, создаваемых программистами на С++.
Kurt Pfeifle: NX может изменить эту ситуацию. Автоматический, но контролируемый скрипт собирает свежую KDE HEAD кажую ночь, который контролируется группой опытных разработчиков. Результат может быть протестирован, использован, переведен, документирован, отшлифован, исправлен (исправление ошибок можно будет даже отменить или возвратить в прежнее состояние) сотнями активистов KDE "в реальном ", на очень раннем стадии в каждом цикле разработки.
NX даже позволяет устанавливать несколько версий KDE бесконфликтным образом. Поэтому в будущем нам будет доступна соответствующая инсталляция для проверки, обнаружения и исправления ошибок. Это может очень сильно ускорить процесс исправления ошибок, делая его более эффективным.
Имейте в виду, что может потребоваться значительное время для запуска системы с KDE 3.2.3 чтобы проверить и исследовать маленькую ошибку, поскольку многие разработчики на самом деле используют KDE HEAD для повседневной работы.
Мы установим еще один или более серверов FreeNX на мощном железе, которое будет постоянно доступно всем разработчикам KDE и даст возможность проверенным участникам работать на нем. На них будут стоять KDE HEAD, а также последний стабильный релиз. В особенности к привелигерованнму кругу пользователей будут принадлежать участники новой KDE Quality Team.
Несмотря на то, что мы уже контактируем с потенциальными спонсорами аппаратуры и соеденинения, переговоры еще не завершились. Если кто-то хочет поддержать нас, можете присоединяться...
На первый взгляд, широкая интеграция NX могла немомненно привести к новым возможностям для настольных машин зависящих от сервера в корпорациях, правительстве, общественных организациях и школах. Каков потенциал NX в этих областях на несколько ближайших лет?Kurt Pfeifle: NX полностью изменит наш взгляд на сетевые вычисления. Мне на ум приходит дюжина различных областей, где может использоваться NX.
Fabian Franz: Прежде всего, NX будет означать продвижение в сторону серверной обработки - но не только для классических серверных приложений, но, особенно, для персональных настольных систем (но не деградируя "персональный компью" в маленькие бездисковые "тонкие ")
Ключ к этому - управляемые NX сервера приложений.
Они не только привлекательны для компаний, правительственнх агентсв и школ - если семья Смит владеет root сервером, они могут легко сделать из него сервер приложений NX, полагая, что эксплуатация, резервное копирование, программные обновления и т.д. производятся их сервис-провайдером.
В будущем "root " будут не только под Apache и PureFTPD, но также с (Free)NX.
Kurt Pfeifle: Во-вторых, NX допускает взаимодействие абсолютно различных аппартных компонент: Siemens Mobile и Sharp PDD с Fujitsu Mainframe или AMD Athlon cluster; Apple iBook с IBM zSeries, Sony PlayStations с Solaris Enterprise Servers...
Fabian Franz: В-третьих, размывает границы между операционными системами. Cтанет безразлично, какую систему я использую: Linux, Windows, Mac OS X, Solaris, Zaurus, или Knoppix, загруженный с USB флэшки. Не имеет значения к каким приложениям, или какой настольной системе, или какой операционной системе я хочу получить доступ: к полноценной KDE, ОpenOffice, KMail или к Photoshop в Windows: все что надо - иметь рабочую сеть. NX позаботится о доступе сквозь платформы.
Kurt Pfeifle: В-четвертых, NX поднимает важность программного, по сравнению с аппаратным, обеспечения при помощи виртуализации серверов и приложений.
Fabian Franz: В-пятых, NX сделает растущее число беспроводных сетей (bluetooth, GPRS, GSM, UMTS...) в ближайшие несколько лет гораздо более полезными. Надоевшее выражение "повсеместные и проникающие вычисления" (
"ubiquitous and pervasive computing") впервые станет истиной с NX. И IBM вероятно будет очень удивлена новым значением "табличных " (
"grid computing").
Kurt Pfeifle: В-шестых, KDE поможет нам в создании нового вида World Wide Web. Там где до сих пор вы вынуждены были использовать статические, "" и малопроизводитеьные HTML страницы, теперь вы сможете использовать динамические и "" приложения как в серверно-централизованны, так и peer-to-peer средах.
Fabian Franz: В-седьмых, NX позволяет лучше и эффективнее использовать аппаратное обеспечение. "Большие железя" могут служить серверами приложений с множеством параллельных пользовательски сессий, "слабые " могут служить тонкими клиентами, которым NX позволяет получить доступ к почти безграничным по силе процессорам откуда угодно.
Kurt Pfeifle: В-восьмых, NX создаст новую миграционную волну на Linux. Это произойдет потому, что с NX план миграции может быть разделен на управляемые шаги. Распространясь маленькими дозами, лекарство Linux часто оказывается лучше и легче: NX может дать отдельные приложения как KMail или Kontact на экране Windows. В реальности, приложения будут работать на удаденных Linux компьютерах, однако это будет полностью прозрачно для пользователей. Это уменьшает сегодняшнюю постоянную необходимость в администрировани, вроде резервного копирования и защиты от вирусов; и это первый шаг к полной миграции.
Позвольте привести вам один пример:
Проект "доставь KMail/Konatact на экран Windows используя NX" сожержит довольно много скрытых возможностей: два года назад "проект Aegypten" был начат как контрактная работа BSI (Bundesampt fur Sicherheit in der Inforamteonstick - немецкое федеральное агентство безопасности в ИТ). Сейчас он обеспечивает полноценную и безопасную почтовую коммуникацию с использованием устоявшихся стандартов шифрования. Согласно имеющейся у меня информации, сейчас менее 1000 федеральных правительственнх служащих испольуют KMail - просто потому что нет большего числа настольных систем переведенных на Linux/KDE. С помощью NX можно предложить доступ к KMail (дополненному алгоритмами из проекта Aegypten) каждому служащему в общественном секторе. И как только этот довольно легкий переход будет совершен, тотчас же все пробелемы проистекающие от вирусов и червей для Windows будут решены.
FreeNX и NX могут помогать не только на
первых шагах перехода к свободному ПО. Они также могут поддерживать проекты, отложенные сейчас только потому, что 90 шагов могут быть сделаны беспроблемно, но оставшиеся 10 невозможно сделать в настоящем времени. NX строит "" назад к унаследованным, но важным специализированым приложениям. Это особенно важно для тех отделов и офисов общественного сектора, которые до сих пор не начали миграцию именно из-за боязни последених 10% не портированных приложений. NX может принести в Linux/KDE Desktop приложения, работающие на Терминальных Windows Серверах (WTS) или рабочих станцих под Windows XP Professional.
Fabian Franz: В-девятых... Чувствую, что мы не доберемся до дюжины сегодня
Kurt Pfeifle: Да, хорошо, давайте не будем расстреливать весь свой арсенал и сохраним кое-какой порох сухим
Когды мы увидим первый стабильный релиз 1.0 FreeNX? Какие функции будут в него включены?Fabian Franz: Такая вещь как верcия 1.0 "" не выйдет
Это потому, что Knoppix 3.6 уже включает snapshot релиза 1.4. А это потому как система версий привязана к NX, чтобы держать обслуживание синхронизованнос NoMachine, тем самым облегчая жизнь пользователям и администраторам которые могут переходить туда-сюда между GPL NX и коммерческой версией от NoMachine, и которые хотят использовать обе версии на различных хостах поддерживая нормальное совместное взаимодействие.
Kurt Pfeifle: В NX 1.4.0 NoMachine представляет две важные функции:
<ul><li>печать на локальном принтере из удаленного приложения </li>
<li>приостановка сессий, реактивация сессий и миграция </li>
</ul>
Новые функции в настоящий момент находятся в стадии разработки API. Они особенно важны для использования в профессиональны целях...
Несмотря на некоторые вещи имевшиеся "в ", во время aKademy мы впервые выпустим "Snapshot 4" сервера FreeNX, основанного на NX-1.4, - готовый для обширных бета тестов. По крайней мере пользователи Debian и SUSE будут смогут поиграться с версией "aKademy" FreeNX.
Коммерческая NX 1.4.0 вероятно будет выпущена в своем финальном виде NoMachine в течение сентября. FreeNX будет обновляться и выпускаться сразу после этого, настолько быстро, насколько это возможно. FreeNX Snapshot будет доступен для скачивания после aKademy.
это контент от Центр информации по операционным системам
( http://www.osrc.info/plugins/content/content.php?content.67 )