NX технологиясы - NX technology

NX технологиясы
Бастапқы шығарылым2003
Тұрақты шығарылым
6.12.3 / 30 қыркүйек 2020 ж; 57 күн бұрын (2020-09-30)
Өлшемі28 МБ
ТүріҚашықтағы жұмыс үстелі бағдарламалық жасақтама
ЛицензияТегін бағдарламалар
Веб-сайтwww.nomachine.com

Фон

NX технологиясы, әдетте белгілі NX немесе NoMachine - бұл қашықтықтан қол жетімділікке, жұмыс үстелімен бөлісуге, виртуалды жұмыс үстеліне (тек Linux-те) және компьютерлер арасында файлдарды тасымалдауға арналған бағдарламалық жасақтама. Оны Люксембургте орналасқан NoMachine компаниясы әзірледі.[1]

NX дизайны Differential X Protocol Compressor (DXPC) жобасынан алынған. 2003 жылы NX қысу және тасымалдау протоколы жергілікті дисплей протоколының жұмысын жақсарту үшін құрылды, сондықтан оны диалогты модемдер сияқты баяу байланыстарда қолдануға болады. Ол қашықтағы байланыстарды орады SSH шифрлауға арналған сеанстар. Сығымдаудың негізгі технологиясы GNU шеңберінде шығарылды GPL2 Linux серверлеріне арналған лицензия (NX 1), ал басқа компоненттер, мысалы NX Server және NX Client бағдарламалары 2003 жылдың 14 ақпанында меншік құқығында қалды. Бұл ашық бастапқы нұсқасына соңғы жаңарту 2012 жылы шығарылды.

2010 жылы компания дереккөзді жабу туралы шешім қабылдады және жеке лицензия қабылданды.[2]

2013 жылы 4.0 нұсқасының нұсқасы жалпыға қол жетімді емес лицензия бойынша жарыққа шықты және бірінші рет Windows және Mac серверлеріне арналған жергілікті нұсқасын ұсынды.[3] 2013 жылы NX бағдарламалық жасақтамасы NoMachine бағдарламалық жасақтамасына айналды.

Ерекшеліктер

Windows, Mac, Linux және Linux ARM серверлерінде физикалық дисплейге қол жеткізу үшін NoMachine NX орнатуға болады. Клиенттік бағдарламалық жасақтама Windows, Mac OS X, iOS, Android, Linux, Linux ARM және HTML / JavaScript үшін қол жетімді. Оның Linux өнімдері бірнеше виртуалды Linux даналарын бір машинада іске қосу мүмкіндігін ұсынады (Linux Terminal Server функциясы). Басқа мүмкіндіктер USB-ді қайта бағыттауды, сеансты жазуды, файлдарды тасымалдауды, мультимедиялық мүмкіндікті және шолғышқа негізделген қатынасуды қамтиды. Жоғары деңгейлі өнімдерге бірнеше есептеу түйіндеріндегі кластерлеу және қателіктер кіреді.

NX пайдаланады VirtualGL жоғары деңгейге жүгіру OpenGL негізделген X қосымшалары және 3-өлшемді АЖЖ бағдарламалары.

NX 4 және одан кейінгі нұсқалары

NX 4 бейнені оңтайлы қысуды және бейнені кодтаудың соңғы әдістерімен кэштеуді енгізді.

Клиенттік қосымшалар SSH хаттамасын қолдана отырып, 3-нұсқадағыдай аутентификация механизмдерімен, жаңа SSH жүйелік кіруімен немесе SSL қолдайтын жаңа NX демонымен қосыла алады. Қауіпсіз байланыс орнатылғаннан кейін, клиенттер 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 сілтемесі арқылы келісіледі. SSH туннелін қолданған кезде UDP байланысы ажыратылады, осылайша барлық деректер бірдей SSH сілтемесін пайдаланады.

Дисплей хаттамасында стандартты кодектерге және NoMachine әзірлеген бірқатар әдістерге негізделген бейне және кескін кодтау үйлесімі қолданылады. NX сапасы мен буферленуін көрсетілген бағдарламаға бейімдеу үшін дисплей мен пайдаланушының әрекетін бақылайды.

Аутентификация

4.0 нұсқасынан бастап, стандартты NX протоколы қолданылған кезде кіру парольге негізделген аутентификация, жеке кілт немесе Керберос билеттің аутентификациясы.

NX өзінің деректерін жіберуге конфигурацияланған кезде SSH (тек кәсіпорын нұсқасындағы серверлерде қол жетімді), келесі аутентификация әдістері қол жетімді:

Серверге клиент

  • NX SSH кілтін және пайдаланушының парольге негізделген аутентификациясын пайдаланып NX пайдаланушысы ретінде NX кіреді
  • Құпия сөз негізіндегі аутентификациямен жүйеге кіру
  • SSH кілтіне негізделген аутентификациямен жүйеге кіру
  • SSH кілтіне негізделген аутентификация және ақылды картада сақталған SSH кілтімен жүйеге кіру
  • Клиенттік жүйеде Kerberos билеті бар жүйеге кіру

Сервер түйінге

  • Құпия сөзбен кіру
  • Сервер арқылы түйінге клиенттен (мысалы, NoMachine Player) жіберілген SSH кілтімен кіріңіз
  • Сервер арқылы түйінге клиенттен жіберілген Kerberos билетімен кіру
  • Сервер хостында Kinit сұраған Kerberos билетімен кіріңіз
  • Сервер хостында PAM модулі сұраған Kerberos билетімен кіріңіз.
  • PAM модулі түйіндер хостында сұраған Kerberos билетіне парольмен кіріңіз

Бұрынғы технология

NX компресстер жіберілген деректер көлемін азайту үшін X11 деректері және кэштер сеансты мүмкіндігінше жауап беру үшін деректер. Мысалы, мәзірді бірінші рет ашқан кезде бірнеше секунд кетуі мүмкін, бірақ кейін бірден пайда болады.

NX өзінен бұрынғыларға қарағанда жылдамырақ, өйткені ол X-тің көп бөлігін жояды сапарлар, ал dxpc және MLView тек деректерді қысады.

NX екі негізгі компоненті болып табылады nxproxy және nxagent. nxproxy алынған dxpc және қашықтағы (X терминологиясындағы клиент) және жергілікті (X терминологиясындағы сервер) машиналарда басталады, клиенттегі X серверін имитациялайды және жергілікті X серверіне X протоколы бойынша сұраныстарды жібереді.

Ең қарапайым орнату:[4]

қашықтағы клиенттер (xterm және т.б.) ↕ nxproxy клиенті ↕ желі ↕ nxproxy сервері ↕ жергілікті X сервер (монитор / пернетақта)

nxproxy жалғыз 1: 1-ден 1: 1000-ға дейін қысу коэффициенттеріне қол жеткізеді[5], өткізу қабілеттілігін төмендетеді, бірақ Х-тің кешігетін кешігуіне жауап беретін синхронды айналу сапарларының көпшілігін жоймайды.

nxagent, Xnest алынған (ұқсас Xephyr ), әдетте қашықтағы (клиенттік) машинада іске қосылады, осылайша X11 протоколдарының көп жүруіне жол берілмейді. Nxproxy-мен бірге (nxagent-ке ендірілген) бұл қондырғы төмен өткізгіштік және жоғары кешігу сілтемелері бойынша жақсы жұмыс істейді.

Әдеттегі орнату:[4]

 қашықтағы клиенттер (xterm және т.б.) ↕ nxagent сервер жағы  nxagent клиент жағы nxagent орындалатын nxproxy клиент / ↕ Network ↕ nxproxy server ↕ жергілікті X сервер (монитор / пернетақта)

X11 функционалды енгізілімі бар жүйелерде nxproxy және nxagent дегеніміз - қашықтағы X клиенттерінің жиынтығы мен жергілікті X серверінің арасында төмен өткізу қабілеттілігі талаптары бар байланыс орнату үшін қажет. SSH хосттар арасында қауіпсіз туннель орнату үшін қолданыла алады. NX 3 SSH функцияларына және қолданыстағы SSH бағдарламалық жасақтамасына сүйенеді, бұл заманауи Unix және Windows жұмыс үстелдерін және Интернет желісі арқылы ерікті желілік қосымшаларды қауіпсіз және басқарылатын әдіспен басқаруға мүмкіндік береді.

FreeNX және әр түрлі NX клиенттері орнату, тоқтата тұру және қайта бастау, SSH арқылы туннельді қауіпсіз жүргізу және басып шығару және дыбыс шығару үшін қолданылады.

Басқа көрсету протоколдары

NoMachine компаниясының NX протоколы хост арқылы клиенттің қосылуына мүмкіндік береді Қашықтағы жұмыс үстелінің протоколы (Windows Remote Desktop Services сеанстары үшін) және қашықтан Виртуалды желіні есептеу сессиялар (қазіргі заманғы жалпы қолданыстағы операциялық жүйенің көптеген платформалары), сондай-ақ 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 бағдарламалық жасақтамасы тағы бір жарнамалық ролик әзірледі терминал-сервер NX хаттамасын қолданатын Linux үшін.[9]

2009 жылы 7 шілдеде, Google өздерінің бастапқы көзі NX серверін жариялады, Ниткс, ішкі жоба ретінде.[10][қайсы? ] Жобада ешқандай шығарылым болған жоқ және ол белсенді түрде дамымаған. Оның бастапқы коды GNU GPL v2 лицензиясы бойынша қол жетімді.[11]

X2Go 3.x NX кітапханаларына негізделген, бірақ басқа бағдарламалармен үйлеспейді.[12][13] Клиент пен сервер GNU GPLv2 немесе одан кейінгі, ал GNU AGPLv3 немесе одан кейінгі нұсқаларымен шығарылады.[14]

Клиенттер

NX-тің негізгі клиенттері - ресми тегін бағдарламалар, NoMachine және NoMachine Enterprise Client. Бірнеше ашық көзі жобалар NX протоколын да қолдана алады, бірақ көптеген OSS жобалары NX ресми бағдарламалық жасақтамасының соңғы нұсқаларымен жұмыс істемейді.

Лоуренс Руфейлдікі OS жетілген жобасы болды nxc клиенттік кітапхана, басқа клиенттер үшін құрылуға болатын толық кітапхана. The nxrun қосымша осы кітапхананы пайдаланады. 2006 жылғы жағдай бойынша, кітапхана сеанстарды тоқтата тұруға немесе жалғастыруға жол бермейді және тек қолданады JPEG графикалық қысу.

The kNX жоба Джозеф Веннингер жазған тұжырымдаманы дәлелдеуге арналған өтінім болды, оның жоспарлары ашық бастапқы клиенттің жазылуы мүмкін екенін көрсету үшін толық NX клиентіне айналады. Оның дамуы аяқталмай тұрып тоқтатылды. 2005 жылдың соңында, Фабиан Франц және Джордж Райт nxc кітапханасын пайдалану үшін kNX модификациясын бастады, бірақ жобадан бас тартты.

Жақында ашық көздерден жасалған жұмыстарға мыналар жатады QtNXтолық тоқтата тұру және түйіндемені ұсынады. Алайда, бұл соңғы NX кітапханаларымен үйлеспейтіні туралы хабарланды.

Nxcl, аn QtNX ядросы nxclientlib-ке жаңартуды Себ Джеймс 2007 жылдың қыркүйегінде аяқтады және NX негізгі кітапханаларының 3 нұсқасымен жұмыс істейді.[дәйексөз қажет ] Сондай-ақ, Qx тәуелділігі төмендейді, бұл nxclientlib-тің NX клиенттік бағдарламалары үшін кросс-платформалық негіз ретінде кеңінен қолданылуына жол бермейді. nxcl клиенттік бағдарламамен (libnxcl) байланыстыруға болатын кітапхананы және дербес NX клиентін D-автобус API (nxcl екілік). Ол FreeNX-тен қол жетімді Субверсия сервер.

OSS NX басқа жақында және белсенді түрде қолдау көрсетілетін басқа клиенттері кіреді OpenNX, «NoMachine-дің [меншікті] nxclient-ті ауыстыру» ретінде толық тоқтата тұру және резюмемен сипатталған.

Сияқты әр түрлі ашық көзді терминал серверінің жобалары X2Go, сонымен қатар NX протоколын қолданыңыз. Алайда, X2Go басқа NX серверлерімен немесе клиенттерімен үйлесімді емес.

Реммина GTK + тағы бір қашықтағы жұмыс үстелінің клиенттік жобасы, 0.8 шығарылымында NX протоколын пайдалану мүмкіндігі туралы хабарлады.

Алдыңғы X11 қысу схемалары

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ NoMachine.
  2. ^ Жабық көзге өту үшін NX қысу технологиясы, Slashdot
  3. ^ Қашықтағы Mac, Linux және Windows жұмыс үстелдерін NoMachine NX көмегімен жеткізу, brianmadden.com
  4. ^ а б «NX компоненттерін құру және пайдалану». NoMachine. 2015-05-22. Алынған 2015-08-21.
  5. ^ NX компоненттерін құру және қолдану, NoMachine.
  6. ^ NX терминалдық сервері және қашықтан қол жеткізу бағдарламасы (өнім туралы мәліметтер), NoMachine.
  7. ^ «FreeNX - ақысыз NX». DE: Берлиос. Архивтелген түпнұсқа 2013-11-11. Алынған 2014-02-14.
  8. ^ FreeNX (жоба беті), DE: Berlios.
  9. ^ «Linux мүмкіндіктеріне арналған 2X TerminalServer». 2Х. Архивтелген түпнұсқа 2012 жылдың 16 қаңтарында. Алынған 2016-03-30..
  10. ^ «Neatx-ті шығару, ашық бастапқы код NX сервері», Ашық ақпарат көзі (Дүниежүзілік өрмек журнал), Google, қыркүйек 2009 ж.
  11. ^ «Neatx», Код, Google.
  12. ^ «X2Go - барлық жерде @ үй». 2013-12-28. Алынған 2014-02-14.
  13. ^ Жиі қойылатын сұрақтар, X2go.
  14. ^ Лицензия туралы ақпарат, X2go.

Сыртқы сілтемелер