Nu înțeleg de ce, dar rămâne și se acordă foarte puțină atenție creării unui server terminal pentru lansarea la distanță a aplicațiilor grafice în Linux.
Pot presupune că este cel mai probabil din cauza lipsei de aplicații grele, cum ar fi 1C doresc să ruleze local pe server cu acces de la distanță (deși este acum există nativ Linux-implementare companie platforma 1C), dar cel mai probabil motiv este mai banală, și anume, în Windows acces de la distanță la consola grafică este utilizat pentru a administra servere și stații de lucru, precum și pe Linux și Unix pentru același scop, folosind un acces la distanță folosind consola SSH.
Acum, în administrarea Windows, doar utilizarea PowerShell este în creștere. și pentru a fi sincer nu am văzut atât de mulți administratori care s-au familiarizat cu elementele de bază ale PowerShell și folosind în întregime scripturi de automatizare în general.
Acum ați ascultat o mică diferențiere lirică cu privire la motivul pentru care totul este atât de rău, dar acum vom lua în considerare lansarea la distanță a aplicațiilor grafice în Linux și vom verifica dacă este într-adevăr posibil să creați un server terminal de pe Ubuntu Linux.
În Linux, subsistemul grafic a fost conceput inițial, astfel încât aplicația utilizează grafice de la distanță X-server, dar cea mai mare parte, pur și simplu nu a realizat în practică, deoarece aplicația și serverul X este situat pe același computer, dar nimeni nu vă interzice să lanseze o aplicație care să ateste pentru redarea unui server X remote.
Cel mai simplu mod de a face acest lucru este să adăugați opțiunea -X la comanda de conectare ssh:
$ ssh -X [email protected]
Acum puteți porni aplicația la distanță și serverul dvs. X va fi folosit ca server X pentru desenarea grafică. Se pare că acest lucru se poate face, dar această tehnică funcționează de foarte mult timp și recent Xorg are posibilitățile de accelerare 3D și 2D, iar activitatea serverului X nu se mai limitează la desenarea banală a primitivelor grafice.
Dacă aveți și să fie capabil de a rula o aplicație grafică completă ca un browser web care rulează pe YouTube ea. apoi pentru a finaliza transferul de date pentru a face grafice aveți nevoie de cel puțin un canal de gigabit, și o aplicație normală, ca OpenOffice Writer te surprinde cu insistenta la subsistemul de rețea, deoarece textul este transmis acum nu într-un font de redare setări, ci sub forma unui raster.
După cum probabil înțelegeți, aceasta nu este cea mai eficientă metodă de lansare a aplicațiilor grafice de la distanță în Linux și, bineînțeles, există și alte metode mai eficiente.
În Windows, spre deosebire de Linux, când accesul la terminal este accesat, nu primitive grafice, ci imagini, mai precis părți modificate ale desktop-ului sau ale aplicației în cazul utilizării RemoteAPP. Această metodă sa dovedit a fi bună și în procesul de elaborare a protocolului RDP, mecanismele de caching și comprimare a imaginii transmise s-au îmbunătățit constant.
Să revenim la implementarea serverului terminal în Linux. După cum probabil ați realizat, această nișă goală nu a fost lăsată goală și a fost dezvoltat mecanismul de proxy, cache și comprimare a datelor transmise.
Inițial, această problemă a fost abordată de NoMachine. dar acești băieți oferă o soluție comercială cu suport, iar costul produselor lor nu este deloc mic și în consecință nu se potrivesc. În lumea OpenSource acest lucru este comun. Opțiunile sunt întotdeauna două gratuite și comerciale, prima trebuie să aleagă și să termine, iar cea de-a doua este gata și pregătită pentru tine.
Vom lua în considerare prima opțiune care nu ne va costa un ban. Apropo, este construit pe aceleași tehnologii ca și comercial, dar periodic dă o mulțime de dureri de cap.
Construirea unui client sau a unui server x2go este o mare aventură pentru mine, de exemplu, a durat aproximativ o lună pentru al colecta și a alerga.
În Ubuntu Linux, există un depozit care conține pachete deja asamblate și puteți rula pur și simplu mai multe comenzi pentru a instala clientul sau serverul. Ei nu sunt foarte proaspeți și se judecă după activitatea desfășurată în cadrul proiectului GIT.
Instalarea părții de server:
# apt-add-repository ppa: x2go / stabil
# apt-get update
# apt-get instala x2goserver x2goserver-xsession
Instalarea clientului:
# apt-add-repository ppa: x2go / stabil
# apt-get update
# apt-get instala x2goclient
Deoarece această notă este mai generală și va fi discutată mai detaliat în următoarele părți, vom măsura sarcina pe subsistemul de rețea folosind x2go și, în același timp, vom demonstra cum să folosim clientul x2go.
Creați o conexiune nouă nu este o problemă, aveți o aplicație grafică convenabilă:
După cum vedeți, încărcarea de pe canal este mult mai mică, dar există artefacte și jafuri atunci când derulați. Versiunea din depozitul GIT se comportă mult mai bine, dar are și unele neajunsuri.
În viitor, vom lua în considerare construirea serverului de terminale Linux mai detaliat, însă astăzi vom termina și vom reveni la această problemă când lucrăm la un proiect pentru a introduce x2go.