Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Первый выпуск | 2003 г. |
---|---|
Стабильный выпуск | 7.0.209 / 19 декабря 2020 г . |
Размер | 28 МБ |
Тип | Программное обеспечение для удаленного рабочего стола |
Лицензия | Бесплатное ПО |
Веб-сайт | www |
Фон [ править ]
Технология NX , широко известная как NX или NoMachine, представляет собой проприетарное программное приложение для удаленного доступа, совместного использования рабочего стола, виртуального рабочего стола (только в Linux) и передачи файлов между компьютерами. Он разработан люксембургской компанией NoMachine. [1]
Дизайн NX был заимствован из проекта компрессора протокола Differential X (DXPC). В 2003 году был создан протокол сжатия и транспорта NX для повышения производительности собственного протокола отображения X, чтобы его можно было использовать в медленных соединениях, таких как модемы удаленного доступа. Он заключал удаленные соединения в сеансы SSH для шифрования. 14 февраля 2003 года технология сжатия ядра была выпущена под лицензией GNU GPL2 (NX 1) для серверов Linux, в то время как другие компоненты, такие как NX Server и NX Client, оставались частными. Последнее обновление этой версии с открытым исходным кодом было выпущен в 2012 году.
В 2010 году компания решила закрыть источник, и была принята проприетарная лицензия. [2]
В 2013 году была выпущена общедоступная версия 4.0 под лицензией с закрытым исходным кодом и впервые была предоставлена нативная версия для серверов Windows и Mac. [3] В 2013 году программное обеспечение NX стало программным обеспечением NoMachine.
Особенности [ править ]
NoMachine NX можно установить на серверах Windows, Mac, Linux и Linux ARM для доступа к физическому дисплею. Клиентское программное обеспечение доступно для Windows, Mac OS X, iOS, Android, Linux, Linux ARM и HTML / JavaScript. Его продукты Linux также предлагают возможность запускать несколько виртуальных экземпляров Linux на одном компьютере (функциональность Linux Terminal Server). Другие функции включают перенаправление USB, запись сеанса, передачу файлов, мультимедийные возможности и доступ через браузер. Продукты более высокого уровня включают в себя кластеризацию с несколькими вычислительными узлами и возможности аварийного переключения.
NX использует VirtualGL для запуска высокопроизводительных X-приложений на основе OpenGL и программ трехмерного САПР.
NX 4 и более поздние версии [ править ]
В NX 4 реализовано оптимальное сжатие и кэширование изображений с использованием новейших технологий кодирования видео.
Клиентские приложения могут подключаться по протоколу SSH с теми же механизмами аутентификации, что и в версии 3, с помощью нового входа в систему SSH или нового демона NX с поддержкой SSL. После установления безопасного соединения клиенты согласовывают сеанс рабочего стола с использованием текстового протокола, совместимого с протоколом, используемым в версии 3. Клиенты также могут использовать одну из различных подсистем NoMachine, например, службу синхронизации файлов, обновления программного обеспечения, службы каталогов, голос / видеосообщения и кластеризация серверов.
При подключении хостов по сети протокол NX работает как общий туннель с дополнительной информацией о кадрировании и управлении потоком, а также динамически адаптирует сжатие и полосу пропускания в соответствии со скоростью и пропускной способностью сети. Для совместимости мультиплексирование основано на версии 3.
В NX 4 добавлены новые типы каналов для обработки таких сервисов, как перенаправление новой файловой системы, новая система печати, виртуальные сетевые интерфейсы, смарт-карты и USB-устройства. Большинство компонентов NoMachine, включая программу агента, олицетворяющую сеанс рабочего стола на сервере, включают так называемые «подчиненные серверы» - легковесные серверы, обеспечивающие межпроцессное взаимодействие и автоматизацию, которые можно использовать для создания дополнительных каналов под управлением клиент и сервер.
Приложения по-прежнему могут запрашивать передачу данных по каналам, используя сжатие протокола NX X Window System. В версии 4 добавлены новые типы каналов для видео и аудио, что позволяет использовать несколько кодеков в одном потоке. В настоящее время каналы отображения (видео) могут обрабатывать данные в H.264, VP8, MJPEG и других форматах с дополнительными примитивами, используемыми для реализации специальных операций кодирования одновременно со стандартными аудио- и видеопотоками.
После установления сеанса между клиентом и сервером данные NX могут перемещаться по потокам TCP и UDP. Клиент и сервер динамически выбирают, какой транспорт использовать, в зависимости от типа данных и состояния сети. Если связь через UDP разрешена, клиент и сервер могут автоматически проинструктировать маршрутизатор об открытии необходимых портов. UDP использует симметричное шифрование Blowfish. Интерфейс и порт хоста, а также ключ шифрования Blowfish согласовываются через безопасный канал TCP. Связь UDP отключена при использовании туннелирования SSH, поэтому все данные используют одну и ту же ссылку SSH.
Протокол отображения использует комбинацию кодирования видео и изображения на основе стандартных кодеков и ряда методов, разработанных NoMachine. NX отслеживает отображение и активность пользователей, чтобы адаптировать качество и буферизацию к отображаемому приложению.
Аутентификация [ править ]
Начиная с версии 4.0, когда используется протокол NX по умолчанию, вход в систему может осуществляться с помощью проверки подлинности на основе пароля, закрытого ключа или проверки подлинности билета Kerberos .
Когда NX настроен на отправку данных по SSH (доступно только на серверах корпоративной версии), доступны следующие методы аутентификации:
От клиента к серверу
- Вход в NX как пользователь NX с использованием ключа NX SSH и аутентификации на основе пароля пользователя.
- Вход в систему с аутентификацией на основе пароля
- Вход в систему с аутентификацией на основе ключа SSH
- Вход в систему с аутентификацией на основе ключа SSH и ключ SSH, хранящийся на смарт-карте
- Вход в систему с билетом Kerberos, существующим на стороне клиента
От сервера к узлу
- Войти с паролем
- Вход в систему с ключом SSH, перенаправленным от клиента (например, NoMachine Player) через сервер на узел
- Вход в систему с билетом Kerberos, перенаправленным от клиента через сервер на узел
- Войдите в систему с билетом Kerberos, запрошенным Kinit на хосте сервера
- Войдите в систему с билетом Kerberos, запрошенным модулем PAM на хосте сервера.
- Войдите с паролем в билет Kerberos, запрошенный модулем PAM на хосте узла
Устаревшие технологии [ править ]
NX сжимает данные X11, чтобы минимизировать объем передаваемых данных, и кэширует данные, чтобы поддерживать максимальную скорость отклика сеанса. Например, при первом открытии меню это может занять несколько секунд, но впоследствии открывается почти мгновенно.
NX быстрее , чем его предшественники, поскольку он устраняет большинство из X обходов , в то время как dxpc и MLView только сжимать данные.
Двумя основными компонентами NX являются nxproxy и nxagent . nxproxy является производным от dxpc и запускается как на удаленных (клиент в терминологии X), так и на локальных (сервер в терминологии X) машинах, имитируя X-сервер на клиенте и перенаправляя удаленные запросы X-протокола на локальный X-сервер.
Самая простая установка: [4]
удаленные клиенты (xterm и др.) ↕ клиент nxproxy ↕ Сеть ↕ nxproxy сервер ↕локальный X-сервер (монитор / клавиатура)
Один только nxproxy обеспечивает степень сжатия от 1:10 до 1: 1000, [5] уменьшая полосу пропускания, но не устраняя большинство синхронных циклических обращений X, ответственных за большую часть воспринимаемой задержки X.
nxagent , производный от Xnest (аналогично Xephyr ), обычно запускается на удаленном (клиентском) компьютере, что позволяет избежать большинства циклов обработки протокола X11. Вместе с nxproxy (встроенным в nxagent) эта установка хорошо работает в каналах с низкой пропускной способностью и высокой задержкой.
Типичная установка: [4]
удаленные клиенты (xterm и др.) ↕ сторона сервера nxagent \ nxagent исполняемый файл на стороне клиента nxagent клиент nxproxy / ↕ Сеть ↕ nxproxy сервер ↕локальный X-сервер (монитор / клавиатура)
В системах с функциональной реализацией X11 nxproxy и nxagent - это все, что необходимо для установления соединения с требованиями низкой пропускной способности между набором удаленных X-клиентов и локальным X-сервером. SSH можно использовать для установления безопасного туннеля между хостами. NX 3 использует функции SSH и существующее программное обеспечение SSH с открытым исходным кодом, что позволяет запускать современные настольные компьютеры Unix и Windows, а также произвольные сетевые приложения через Интернет в защищенном и контролируемом режиме.
FreeNX и различные клиенты NX используются для настройки, обработки приостановки и возобновления, безопасного туннелирования через SSH, а также печати и звука.
Другие протоколы отображения [ править ]
Протокол NX от NoMachine позволяет клиентам подключаться к хостам через протокол удаленного рабочего стола (для сеансов служб удаленных рабочих столов Windows) и удаленные сеансы виртуальных сетевых вычислений (большинство современных платформ операционных систем общего назначения), а также через XDM.
Производные и вилки NX [ править ]
До версии 4.0 компания NoMachine выпускала базовую технологию NX под Стандартной общественной лицензией GNU и предлагала платные коммерческие решения NX, [6] бесплатные клиентские и серверные продукты для Linux и Solaris , а также бесплатное клиентское программное обеспечение для Microsoft Windows , Mac OS X и встроенные системы .
Из-за того, что старые выпуски NX были свободными, проект FreeNX был начат с предоставления сценариев оболочки для библиотек GPL NX. [7] FreeNX был разработан и поддержан Фабианом Францем , но не объявлял о выпуске с 2008 года. [8]
2X Software разработала еще один коммерческий терминальный сервер для Linux, использующий протокол NX. [9]
7 июля 2009 года Google анонсировала свой сервер NX с открытым исходным кодом Neatx в качестве внутреннего проекта. [10] [ какой? ] Проект не имеет релизов и активно не развивается. Его исходный код доступен по лицензии GNU GPL v2. [11]
X2Go основан на библиотеках 3.x NX, но несовместим с другими реализациями. [12] [13] Клиент и сервер выпускаются под комбинацией GNU GPLv2 или более поздней версии и GNU AGPLv3 или более поздней версии. [14]
Клиенты [ править ]
Основными клиентами NX являются официальное бесплатное ПО, NoMachine и NoMachine Enterprise Client. Несколько проектов с открытым исходным кодом также могут использовать протокол NX, но многие из этих проектов OSS не работают с более поздними версиями официального программного обеспечения NX.
Зрелым проектом ОС была клиентская библиотека nxc Лоуренса Руфаила , полная библиотека, которую можно использовать для развития других клиентов. Приложение nxrun использует эту библиотеку. С 2006 [Обновить]года библиотека не позволяет приостанавливать или возобновлять сеансы и использует только сжатие графики JPEG .
Проект kNX был экспериментальным приложением, написанным Джозефом Веннингером, и в его планах в конечном итоге стать полноценным клиентом NX, чтобы показать, что можно написать клиент с открытым исходным кодом. Его разработка была остановлена до завершения. В конце 2005 года Фабиан Франц и Джордж Райт начали модифицировать kNX для использования библиотеки nxc, но отказались от проекта.
Более поздние разработки с открытым исходным кодом включают QtNX , который предлагает полную приостановку и возобновление работы. Однако сообщалось, что он несовместим с самыми последними библиотеками NX.
Nxcl, обновление nxclientlib, ядра QtNX, было завершено Себом Джеймсом в сентябре 2007 года и работает с версией 3 основных библиотек NX. [ необходима цитата ] Он также устраняет зависимость от Qt, что не позволило nxclientlib широко использовать в качестве кроссплатформенной основы для клиентских программ NX. nxcl предоставляет библиотеку, которая может быть связана с клиентской программой (libnxcl), и автономный клиент NX с API D-Bus (двоичный файл nxcl). Он доступен на сервере FreeNX Subversion .
Другие недавние и активно поддерживаемые клиенты OSS NX включают OpenNX , описываемую как «заменяющую замену [проприетарного] nxclient от NoMachine» с полной приостановкой и возобновлением работы.
Различные проекты терминальных серверов с открытым исходным кодом, такие как X2Go , также используют протокол NX. Однако X2Go несовместим с другими серверами или клиентами NX.
Remmina , еще один недавний клиентский проект удаленного рабочего стола GTK +, объявил о возможности использовать протокол NX в своем выпуске 0.8.
Предыдущие схемы сжатия X11 [ править ]
- Низкая пропускная способность X (lbxproxy; устаревшее и представляет исторический интерес только)
См. Также [ править ]
- Сравнение программного обеспечения удаленного рабочего стола
- Thinstation - реализация тонкого клиента для Linux с дополнительным встроенным клиентом NX
- GNU Screen - терминальный мультиплексор для консольных (текстовых) приложений
- Xpra - система для подключения и отключения удаленных X-программ
- xmove - инструмент, позволяющий перемещать программы между дисплеями X Window System (устарело)
Ссылки [ править ]
- ^ NoMachine.
- ^ Технология сжатия NX для перехода на закрытый исходный код , Slashdot
- ^ Доставка удаленных рабочих столов Mac, Linux и Windows с помощью NoMachine NX , brianmadden.com
- ^ a b «Создание и использование компонентов NX» . NoMachine. 2015-05-22 . Проверено 21 августа 2015 .
- ^ Создание и использование компонентов NX , NoMachine.
- ^ NX Terminal Server и ПО удаленного доступа (сведения о продукте), NoMachine.
- ^ "FreeNX - бесплатный NX" . ДЭ : Берлиос. Архивировано из оригинала на 2013-11-11 . Проверено 14 февраля 2014 .
- ^ FreeNX (страница проекта), DE: Berlios.
- ^ «2X TerminalServer для функций Linux» . 2X. Архивировано из оригинального 16 января 2012 года . Проверено 30 марта 2016 ..
- ^ "Releasing Neatx, Open Source NX Server" , Open source ( World Wide Web log), Google, сентябрь 2009 г..
- ^ "Neatx" , Код , Google.
- ^ "X2Go - везде @ дома" . 2013-12-28 . Проверено 14 февраля 2014 .
- ^ FAQ , X2go.
- ^ Информация о лицензии , X2go.
Внешние ссылки [ править ]
- Официальный веб-сайт
- X2Go X2Go Вводная страница
- Страница проекта FreeNX в BerliOS .
- Страница проекта FreeNX в Arch Linux .
- Страница проекта OpenNX , SourceForge .