Instalarea și configurarea clientului subțire Thinstation

Ghid detaliat pentru configurarea clientului subțire

Bazat pe distribuția Thinstation și protocolul NX

Tehnologia NX, dezvoltată de Nomachine, oferă noi opțiuni de conectivitate și poate revigora computerele vechi ca clienți subțiri.

Înainte de a trece direct la descrierea NX, voi enumera câteva tendințe care devin evidente astăzi pentru multe companii mari din țara noastră:

1. Echipamentele informatice devin din ce în ce mai ieftine și mai accesibile decât înainte. În același timp, productivitatea sa se dublează la fiecare 1,5-2 ani conform legii lui Moore. Acest lucru duce la acumularea de echipamente care nu și-au epuizat durata de viață, dar sunt deja depășite.

2. Aplicațiile client-server dezvoltate la întreprinderi de programatori din departamentele de sisteme de control automatizate în anii perestroika încă funcționează pe tehnologie veche, dar nu mai îndeplinesc cerințele vremii.

3. Software-ul și sistemele de operare moderne nu pot fi făcute să funcționeze pe computere cu procesoare din generațiile anterioare (i386, i486 etc.).

4. Nu este un secret pentru nimeni că în multe organizații din țara noastră, de mult timp, multe programe și sisteme de operare pe care angajații le-au instalat din proprie inițiativă au fost folosite ilegal. La început acest lucru a fost văzut ca un lucru firesc, dar apoi a fost justificat de situația financiară. Acum că țara noastră a aderat la OMC, guvernul este nevoit să corecteze rapid această situație; prin urmare, presiunea asupra întreprinderilor din partea autorităților interne a crescut pentru a abandona software-ul și sistemele de operare utilizate ilegal.

Există o contradicție evidentă între al doilea și al treilea punct: este necesar fie să se găsească o modalitate de a utiliza eficient tehnologia veche pentru a îndeplini sarcinile moderne, fie să se abandoneze această tehnologie. Dacă există suficiente fonduri, atunci alegerea este clară. Dar ce să faci dacă nu există fonduri sau nu există nicio modalitate de a anula astfel de echipamente și este păcat să-l arunci? Și cum să rezolvi problema nu mai puțin acută a „purității licențiate” a programelor utilizate, care este menționată în al patrulea paragraf?

Tehnologiile terminale vin în ajutor, care vă permit să utilizați computere vechi și, de asemenea, elimină parțial problemele de „puritate a licenței” dacă utilizați soluții bazate pe produse Open Source.

Revista a publicat deja mai multe articole despre lucrul cu distribuția Thinstation. În acest articol, voi vorbi despre specificul experienței de configurare și operare în întreprinderea mea cu clienți subțiri bazați pe distribuția Thinstation și tehnologia NX dezvoltată de Nomachine.

Până de curând, în lumea comunicațiilor cu terminale, existau puține protocoale de rețea de succes de nivel înalt cunoscute, capabile să comprima și să cripteze eficient traficul dintre un client subțire și un server. Cele mai cunoscute și populare dintre ele sunt RDP de la Microsoft și ICA de la Citrix. Ambele protocoale sunt utilizate de servere bazate pe sistemul de operare MS Windows. Am fost interesat de posibilitatea de a folosi thin clients cu servere bazate pe Linux. Ca bază pentru clientul subțire, un mic kit de distribuție, un fel de designer Linux, Thinstation a fost aproape imediat ales ca fiind cel mai constant și mai popular în țara noastră și în străinătate. Dar, odată cu alegerea protocolului care ar fi responsabil de comunicarea cu serverul, a trebuit să schimb și să experimentez. Voi enumera principalele criterii după care a fost selectat protocolul. În primul rând, ne-am dorit să folosim cea mai largă gamă posibilă de computere vechi cu procesoare începând de la i486, cu o cantitate minimă de memorie; avem destule astfel de echipamente. În al doilea rând, produsele comerciale au fost respinse: nu am vrut să suportăm costuri suplimentare. În al treilea rând, este necesar un suport bun pentru limba rusă și alfabetul chirilic, precum și prezența unui mod familiar prin care utilizatorii pot comuta între aspecte - combinații de taste . În al patrulea rând, în interior retea locala Nu avem neapărat nevoie de suport pentru criptare, dar compresia și minimizarea traficului de rețea sunt importante.

Găsirea unei soluții

În primul rând, am acordat atenție VNC ca fiind cel mai comun și disponibil în orice distribuție Linux, precum și un produs ușor de configurat. Când trebuie să vă conectați la un desktop de la distanță al unui server Linux cu stație de lucru Windows sau Linux, primul lucru care îmi vine în minte este VNC. Descărcați cea mai recentă versiune a distribuției Thinstation, apoi dezarhivați fișierul arhivă rezultat în directorul dvs. de acasă. Să presupunem că calea către distribuție arată astfel: ~/thinstation. Fișierul responsabil pentru parametrii de construcție se află aici: ~/thinstation/build.conf. Are comentarii detaliate. Nu voi vorbi în detaliu despre configurarea acesteia, precum și despre cum să forțați imaginea Thinstation să pornească folosind o placă de rețea cu un cip de pornire; despre acest lucru s-a scris deja în aceste articole. Voi enumera pe scurt pașii pentru configurarea clientului: editați ~/thinstation/build.conf și creați o imagine rulând scriptul ~/thinstation/build. Copiem fișierul imagine finit ~/thinstation/boot-images/etherboot/thinstation.nbi pe serverul TFTFP. Adăugăm o intrare despre adresa MAC a plăcii de rețea a clientului subțire la fișierul de configurare dhcp.conf al serverului DHCP. În directorul serverului TFTP, creați un fișier cu setările pentru această adresă MAC și/sau editați fișierul thinstation.conf.network. Setarile mele sistem de lucru poate fi văzut în lista secțiunii „Configurarea și crearea unei imagini Thinstation” și în Fig. 1.

Figura 1. Relații dintre componentele NX

Pentru a adăuga un pachet client VNC la imagine, decomentați linia „#package vncviewer” din fișierul de configurare ~/thinstation/build.conf. Dacă directorul serverului tftp se află în /tftpboot (cum este și pentru mine), atunci editați fișierul /tftpboot/thinstation.conf.network astfel încât liniile să apară în el:

SESSION_0_TYPE=vncviewer

SESSION_0_TITLE="VNC" !}

SESSION_0_VNCVIEWER_SERVER=10.10.10.10:5901

Înlocuiți adresa IP 10.10.10.10 cu adresa serverului dvs. VNC.

Acum să verificăm imaginea asamblată cu noul parametru în funcțiune: porniți clientul subțire, așteptați descărcarea și lansarea imaginii Thinstation, conectați-vă la serverul VNC. Vă rugăm să rețineți că schimbarea aspectului are loc utilizând tasta „Alt dreapta”. De fapt, nu clientul VNC este de vină aici, ci fișierul Thinstation din pachetul de suport keymaps-ru Cyrillic. Pentru a nu petrece mult timp căutând o soluție la problemă, am generat un fișier xkb pe sistemul SUSE-10.0 configurat după cum urmează:

xkbcomp:0 ru.xkb

xkbcomp -xkm ru.xkb ru.xkm

Utilitarul xkbcomp convertește descrierea aspectului XKB într-unul dintre formate. Prima comandă generează un dump a aspectului curent din sursă, care este afișajul X „:0”. A doua comandă compilează fișierul rezultat într-o formă binară care poate fi citită de sistem. Înlocuiți fișierul original cu al nostru:

cp -f ru.xkm ~/thinstation/packages/keymaps-ru/x-common/lib/kmaps/xkb

După asamblarea imaginii, obținem comutarea normală a layout-urilor în funcție de . Dar clientul VNC este inacceptabil de lent. Pe computerele cu un procesor mai mic decât P-200, începe un fel de „prezentare de diapozitive”, când orice acțiune pe desktop-ul de la distanță este însoțită de o desenare pe îndelete a acestor modificări pe ecranul monitorului clientului subțire. Există multe soluții VNC care folosesc metode similare de codificare a datelor în timpul transmisiei, toate folosind protocolul Remote FrameBuffer (RFB). Ele diferă prin numărul de funcții, parametrii de codificare a datelor și numărul de platforme acceptate. De exemplu, RealVNC acceptă server și client pentru Windows, UNIX, Microsoft PocketPC și Mac OS X, TightVNC include server și client pentru Windows și UNIX, VNC pentru DOS - client pentru DOS, UltraVNC - server și client pentru Windows, OSXvnc - server și client pentru Mac OS X. Am testat RealVNC și TightVNC: al doilea produs (atât server, cât și client) este subiectiv puțin mai rapid, dar ambele creează un efect de „slideshow” pe calculatoare slabe. Va trebui să încercăm altceva ca protocol de comunicare între client și server. Să lăsăm VNC în pace deocamdată; va trebui să revenim la el mai târziu. Aici am apelat la NX.

Suportul pentru clientul Nomachine NX a apărut pentru prima dată în Thinstation versiunea 2.1 în 2005, iar cel mai recent este în prezent 2.2, care va fi implicat mai jos. Pentru a construi o imagine cu pachetul NX, anterior era necesar accesul direct la Internet; în cele mai recente versiuni de Thinstation, a devenit posibilă specificarea căii către fișier cu prefixul „file://”. Clientul utilizat și susținut de distribuția Nomachine NX este încă la versiunea 1.5.x, deși a trecut destul de mult timp de la lansarea noii versiuni NX 2.0. În fișierul de configurare build.conf, decomentați linia „pachet nx”, tot la sfârșitul fișierului vom găsi linia „param nxurl”: indicați calea către fișierul predescărcat sau lăsați-o așa cum este ( aveți nevoie de acces la internet). Copiem imaginea rezultată generată în directorul serverului tftp, copiem fișierul thinstation.conf.sample din rădăcina distribuției de acolo, îl redenumim în thinstation.conf.network și îl edităm: căutați #SESSION_0_TYPE=NX și editați rândurile aferente acestei sesiuni ( aici cu numărul 0), introducând parametrii necesari.

Pornim clientul subțire și încărcăm imaginea creată, verificând performanța. Progresul este evident: „prezentarea” se oprește pe computerele cu procesor P-100, P-120 și superior. Acest lucru nu este ceea ce ne-am dori să obținem ca rezultat, așa că PC-urile cu procesoare i486 nu vor putea fi folosite aici. Am numit astfel de PC-uri clienți „superthin” și le-am configurat să funcționeze cu programe DOS folosind o combinație de FreeDOS și sshdos pe partea client și Dosemu pe partea serverului Linux. Nu voi vorbi despre ele în acest articol. Cu toate acestea, aceasta bun rezultat, să ne uităm la cerințele hardware de la dezvoltatorii Thinstation și clientul NX: primii recomandă un procesor i486 și 16 MB de memorie, cei din urmă recomandă un procesor cu o frecvență de 400 MHz și 128 MB de memorie. Să determinăm empiric procesorul și volumul P-120 ca configurație minimă necesară pentru ca un client subțire să lucreze cu pachetul NX. memorie cu acces aleator 32 MB. Am testat alți clienți, în special XRDP, VNC pentru DOS, dar dintr-un motiv sau altul alternativa reala Nu am găsit NX. Acum este timpul să aruncăm o privire mai atentă asupra tehnologiei NX.

Recenzie și scurtă descriere a Nomachine NX

Arhitectura NX este un set de tehnologii Open Source și instrumente comerciale concepute pentru a face calculul în rețea ușor și distribuit. Este format din software-ul server care permite oricărui computer UNIX să devină un server terminal și clienți pentru o gamă largă de platforme și sisteme de operare. Nomachine a ales cel bine-cunoscut și utilizat pe scară largă Sistem X-Window, pe care se bazează GUI-urile Linux și ale altor sisteme de operare UNIX.

Cele mai multe soluții de rețea disponibile nu au fost concepute ca mijloc principal pentru utilizatori de a accesa desktop-ul. Protocoale precum RDP și VNC sunt mult mai simple decât X (și, prin urmare, sunt potrivite pentru clienții subțiri), dar simplitatea lor nu compensează lipsa de eficiență și funcționalitate. De exemplu, aceste protocoale folosesc cantități mari de date de imagine pentru a reda un ecran la distanță. Deși RDP este un protocol mai eficient decât RFB (protocolul folosit de VNC), nu a fost conceput inițial pentru utilizarea zilnică de către dispozitivele din rețea, ci doar ca o extensie a sistemului de operare. X-Window este un subsistem grafic (nu o extensie a sistemului de operare), iar aplicațiile X interacționează cu acesta folosind protocolul X, astfel încât sistemul de operare nu are un strat special responsabil pentru traducerea actualizărilor de ecran în protocolul de rețea.

Principalele dezavantaje ale rețelelor X-terminale sunt redundanța și întârzierile în transferul datelor grafice X-protocol. De la apariția X-Window, desktopul utilizatorului a dobândit tot felul de elemente grafice și efecte care au crescut cerințele asupra rețelelor de date.

În fig. Figura 1 sub numărul 1 arată munca tradițională asupra protocolului X: nu există compresie, cerințele pentru lățimea de bandă a rețelei și întârzierile sunt critice. Permiteți-mi să vă reamintesc că în ideologia X-Window, serverul X rulează pe terminal, iar pe serverul terminal există un client X care trimite cereri către serverul terminal X.

În cel mai simplu caz, puteți rula aplicații cu ieșire grafică folosind opțiunea -X a comenzii ssh, de exemplu, „ssh -X me@server firefox”. Puteți adăuga parametrul -C pentru compresie (se folosește biblioteca ZLIB). De asemenea, puteți optimiza viteza de interacțiune cu nodurile prin creșterea debitului rețelei. Dar există o limită peste care creșterea lățimii de bandă nu va mai afecta viteza acestei interacțiuni. Motivul pentru aceasta este schimbul intens de cereri/răspuns al aplicațiilor X moderne.

NX folosește trei metode principale pentru a accelera aplicațiile: compresia, stocarea în cache și suprimarea traficului excesiv de protocol X.

n Ideea de compresie a diferențelor se bazează pe proiectul Differential X Protocol Compressor (DXPC), creat în 1995, termenii client și server proxy sunt deja menționați acolo. Nomachine a preluat ideea și și-a dezvoltat propriul produs. NX se pretinde a fi de 10 ori superior bibliotecii standard ZLIB.

n Nomachine a dezvoltat, de asemenea, un mecanism inteligent de stocare în cache pentru traficul X care utilizează termenul proxy familiar „accesări în cache”. Acest mecanism reduce traficul de rețea la transmiterea acelorași blocuri de date, iar atunci când aceste blocuri de date se modifică, fluxul calculează și transmite doar diferența lor.

n Înainte de NX, nu exista o modalitate fiabilă de a suprima traficul excesiv de protocol X pe legăturile pe distanțe lungi. NX poate face acest lucru prin traducerea traficului X de la distanță (de la aplicație la nxagent) în trafic de protocol NX.

Toate cele trei metode se combină pentru a obține o îmbunătățire de 70 de ori a experienței GUI X la distanță în timp ce se utilizează cel mai înalt nivel de compresie pe legături cu lățime de bandă redusă și cu latență mare (în setările clientului NX, „modem” corespunde compresiei maxime și „lan” corespunde lipsei compresiei) . În fig. 1 sub numărul 2 arată relația componentelor NX: compresia/decompresia și caching-ul sunt efectuate pe modulele NX Proxy, traficul trece între ele prin protocolul NX, cerințele pentru calitatea liniilor de comunicație sunt minime, se precizează că acestea pot functioneaza pana la viteze de 9600 bps.

Similar cu traducerea traficului X de către nxagent, există un alt agent („nxviewer”) care traduce traficul RFB/VNC la protocolul NX. Acest lucru îmbunătățește eficiența conexiunii de până la 10 ori în comparație cu rularea unui vncviewer obișnuit care conectează un afișaj X local la server la distanta VNC. Ne vom asigura de asta.

În fig. 1 sub numărul 3 arată posibilitatea funcționării simultane a diferiților agenți NX, RDP, VNC. În același timp, agenții NX traduc în mod eficient protocoalele străine în propriile lor și apoi transmit trafic prin NX Proxy.

n Proxy NX– această componentă este tocmai responsabilă de compresie/decompresie: în modul client codifică cererile de la clienții X și decodifică răspunsurile de la serverul X, în modul server – invers.

n Agent NX– termenul „agent” este folosit pentru a descrie componenta la care este transmisă imaginea generată înainte de a fi transmisă în rețea printr-un proxy.

n NX Viewer– un client VNC obișnuit Nomachine modificat care traduce traficul VNC/RFB în protocolul NX.

n Desktop NX– Client RDP care traduce traficul RDP în protocolul NX.

Nomachine a deschis codurile sursă ale majorității dezvoltărilor și bibliotecilor sale, acestea putând fi descărcate de oricine din . Build-urile de la Nomachine în sine sunt disponibile pentru toți clienții gratuit, există și diverse opțiuni Build-uri de server NX disponibile contra cost: abonament anual la NX Enterprise Server cu cantitate nelimitată utilizatorii și numărul de procesoare 1-2 costă 1.494 USD, cea mai completă soluție cu echilibrare a încărcăturii și managementul nodurilor bazate pe NX Advanced Server va costa 3.494 USD. În plus, există o variantă NX Ediție gratuită, care poate fi descărcat gratuit, dar are o limită a numărului de conexiuni simultane și de utilizatori egală cu doi, așa că dacă doriți să administrați un server Linux de acasă folosind un modem analog obișnuit, atunci această soluție nu poate fi găsită mai bună, mai sigură si mai usor. Voi remarca, de asemenea, prezența versiunilor client ale NX Client Desktop Edition pentru PlayStation 2 (cu folosind Linux Kit), precum și NX Client Embedded Edition pentru Sharp Zaurus 5xxx și HP/Compaq iPAQ. De asemenea, pot fi descărcate gratuit. Deci, dacă sunteți într-o călătorie de afaceri și aveți doar un PDA cu dvs., nimic nu vă împiedică să vă conectați și să lucrați de la distanță pe serverul dvs. Linux.

Construirea și rularea NX

La rândul său, pe baza open source, comunitatea a dezvoltat o versiune a părții serverului NX numită FreeNX, precum și KNX, un client pentru conectarea la server de sub X. FreeNX este un set de scripturi shell care, împreună cu biblioteci deschise de la NX, formează partea de server (backend).

La începutul lucrului cu NX, am folosit un PC cu SUSE 10.0 ca server. FreeNX era deja asamblat ca parte a distribuției, dar, în primul rând, avea mai mult de un an și, în al doilea rând, după ce am întâmpinat primele dificultăți în timpul lucrului, am decis că este timpul să asamblam partea de server din codul sursă. eu insumi. Voi vorbi despre asamblarea din codul sursă al versiunii 1.5 ca fiind cea mai testată în timp, apoi voi clarifica ce caracteristici există pentru asamblarea versiunii 2.0 (2.1).

Momentan, sursele versiunii NX 2.0 sunt postate pe site-ul Nomachine, această versiune este recomandată de companie și există un link special către sursele versiunii 1.5. Descărcați cele mai recente versiuni ale următoarelor tarball-uri de pe pagină: nx-X11, nxagent, nxcomp, nxcompext, nxdesktop (dacă aveți nevoie de suport RDP), nxproxy, nxscripts, nxviewer (dacă aveți nevoie de suport VNC). nx-X11 este versiunea 4.3 a Xfree86, care a modificat bibliotecile Nomachine X. Unele dintre surse vor fi despachetate direct în arborele nx-X11, așa că îl vom extinde mai întâi, ordinea despachetării tarball-urilor rămase nu este importantă, principalul lucru este că toate sunt despachetate într-un singur director. Acolo descarcăm și despachetăm scripturile FreeNX de la adresa . Veți avea nevoie și de două patch-uri, descărcați-le de aici. Directorul nostru de asamblare va arăta astfel:

n freenx-0.4.4

nnx-X11

nnxcomp

nnxcompext

nxdesktop

nnxproxy

nxscripts

nxviewer

n freenx-lfs_hint.diff

n NX-lfs_hint.diff

Pentru a construi, veți avea nevoie de următoarele pachete (pot fi instalate din distribuția dvs. Linux): libjpeg-devel, libpng-devel, openssl-devel, netcat, expect. O descriere a ansamblului poate fi găsită și aici.

# Aplicați patch-ul NX

patch -p0< NX-lfs_hint.diff

# Asamblarea X - cea mai lungă parte, poate dura până la o oră

pushd nx-X11

face lumea

popd

#nxproxy

pushd nxproxy

./configure --prefix=/srv/NX

face

popd

# Construiți agentul RFB

pushd nxviewer

xmkmf -a

cp -a /usr/X11R6/lib/libXp.so* ../nx-X11/exports/lib/

face 2> /dev/null

popd

# Construirea agentului RDP

pushd nxdesktop

./configure --prefix=/srv/NX --sharedir=/srv/NX/share

face

popd

# Întreaga parte a serverului va fi localizată în directorul /srv/NX, creați unele dintre subdirectoare

mkdir -p /srv/NX/bin

mkdir -p /srv/NX/lib

mkdir -p /srv/NX/man/man1

mkdir -p /srv/NX/share/doc

# Instalați bibliotecile și agenții colectați

cp -a nx-X11/lib/X11/libX11.so.* nx-X11/lib/Xext/libXext.so.* nx-X11/lib/Xrender/libXrender.so.* /srv/NX/lib

instalați -m 755 nx-X11/programs/Xserver/nxagent /srv/NX/lib

# Creați un script nxagent care va gestiona toate programele

cat > nxagent<< "EOF"

#!/bin/sh

NXCOMMAND=$(nume de bază $0)

export LD_LIBRARY_PATH=/srv/NX/lib:$LD_LIBRARY_PATH

exec /srv/NX/lib/$NXCOMMAND $(1+"$@")

EOF

# Și instalați-l:

instalați -m 755 nxagent /srv/NX/bin

# Instalați biblioteci de compresie și proxy

cp -a nxcomp/libXcomp.so.* /srv/NX/lib

cp -a nxcompext/libXcompext.so.* /srv/NX/lib

instalați -m 755 nxproxy/nxproxy /srv/NX/lib

ln -snf nxagent /srv/NX/bin/nxproxy

# Instalarea agentului RFB

pushd nxviewer

make install DESTDIR=/srv/NX

mv /srv/NX/usr/X11R6/bin/nxviewer /srv/NX/lib

ln -snf nxagent /srv/NX/bin/nxviewer

chmod 755 /srv/NX/bin/nxviewer

mv /srv/NX/usr/X11R6/bin/nxpasswd /srv/NX/bin

popd

# Instalarea agentului RDP

pushd nxdesktop

face instalarea

mv /srv/NX/bin/nxdesktop /srv/NX/lib

ln -snf nxagent /srv/NX/bin/nxdesktop

chmod 755 /srv/NX/bin/nxdesktop

rm -rf /srv/NX/usr

popd

# Instalarea scripturilor

cp -r nxscripts /srv/NX/share/doc

# instalați FreeNX

mkdir -p /srv/NX/etc

mkdir -p /srv/NX/var

mkdir -p /srv/NX/var/db

mkdir -p /srv/NX/home

mkdir -p /srv/NX/home/nx

pushd freenx-0.4.4

# Aplicați patch-ul freenx, în principal aici căile sunt corectate pentru a se potrivi cu /srv/NX

patch -p0< ../freenx-lfs_hint.diff

cp -a nxnode /srv/NX/bin

cp -a nxserver /srv/NX/bin

cp -a nxsetup /srv/NX/bin

cp -a nxkeygen /srv/NX/bin

cp -a nxnode-login /srv/NX/bin

cp -a nxloadconfig /srv/NX/bin

cp -a nxclient /srv/NX/bin

cp -a nxprint /srv/NX/bin

instalați -m 755 node.conf.sample /srv/NX/etc

popd

# Adăugați utilizator și grup nx

groupadd -g 77 nx

useradd -c „Utilizator FreeNX” -d /srv/NX/home/nx -g nx -s /bin/bash -u 77 nx

chown -R root.root /srv/NX

chown -R nx.nx /srv/NX/home/nx

# Dacă doriți să utilizați autentificarea utilizatorului bazată pe cheie, eliminați opțiunea –setup-nomachine-key.

# Pentru a lucra cu clienți subțiri, nu trebuie să schimbați nimic

/srv/NX/bin/nxsetup --install --uid 77 --gid 77 --setup-nomachine-key

# Verificați dacă serverul NX rulează:

/srv/NX/bin/nxserver --status

Răspunsul ar trebui să fie cam așa:

NX>100 NXSERVER - Versiunea 1.4.0-44 OS (GPL)

Serverul NX> 110 NX rulează

NX>999 La revedere

Instalați fișierul de configurare freenx:

mv /srv/NX/etc/node.conf.sample /srv/NX/etc/node.conf

În fișierul de configurare găsim următoarea linie și o decomentăm:

ENABLE_1_5_0_BACKEND="1"

Acolo puteți activa și înregistrarea pentru prima dată:

NX_LOG_LEVEL=6

Acum puteți instala clientul Nomachine NX pe orice computer Linux (puteți folosi și KNX) sau Windows și verificați funcționarea serverului NX. Puteți lucra cu serverul atât în ​​modul aplicație, cât și în modul desktop la distanță.

Figura 2. Sesiunea KDE NX în modul desktop din Windows XP

Configurarea și crearea unei imagini Thinstation

Din partea serverului NX, să trecem acum la crearea imaginii Thinstation. Distribuția în sine poate fi descărcată aici. La asamblarea imaginii, vom încerca să reducem cât mai mult posibil numărul de module și pachete, aruncând tot ce nu este necesar. Deoarece multe computere selectate ca client subțiri vor avea hardware și periferice diferite, aș dori să mută pachetele individuale din cadrul unei imagini comune pentru toți. Thinstation are această opțiune: pkg înseamnă a construi ca un pachet descărcabil separat cu extensia pkg, pachet înseamnă a fi inclus într-o imagine comună. Pachetele lprng, sshd, samba-server și altele sunt cu siguranță colectate ca descărcabile. Puteți specifica toate pachetele cu drivere de placă video X ca pachet, dar apoi vor apărea mai multe la construirea imaginii pachete suplimentare, care va trebui să fie încărcat de toată lumea și, ca urmare, dimensiunea totală a datelor încărcate va fi mai mare. Să o facem mai simplu: unul dintre driverele video cele mai des folosite, și anume S3, va fi specificat ca pachet, restul - pkg. Modulele pot fi mutate și în afara nucleului, dar până acum această caracteristică nu a funcționat corect și ocupă foarte puțin spațiu în interiorul nucleului. Mai jos este fișierul meu de configurare build.conf:

modul serial

modul intel-agp

modul via-agp

modulul 8139 de asemenea

discheta modulului

modul vfat

modul supermount

pkg xorg6-ati

pachet xorg6-i810

pachet xorg6-nv

pachet xorg6-s3

pachet xorg6-s3virge

pkg xorg6-sis

pkg xorg6-trident

hărți de taste ale pachetului

pachet nx

pachet lprng

pachet sshd

pkg samba-server

param rootpasswd vă rog să mă schimbați

param xorgvncpasswd vă rog să mă schimbați

param bootlogo false

rezoluție param boot 800x600

param defaultconfig thinstation.conf.buildtime

param basename thinstation

param basepath .

param knownhosts ./known_hosts

param localpkgs adevărat

param locații complete false

param bootverbosity 3

param nxurl file://home/zhen/sources/nx/bin/nxclient-1.5.0-141.i386.tar.gz

Dacă veți imprima la o imprimantă conectată la un client subțire folosind lprng, va trebui să faceți o mică modificare la fișierul thinstation/packages/lprng/etc/init.d/lprng. Pentru a face acest lucru, înlocuiți linia:

echo „$PRINTER_X_NAME:lp=$PRINTER_X_DEVICE:wd=$PRINTER_X_DRIVER:br=$PRINTER_X_OPTIONS:lf=/var/log/spooler.log:sh:sf” >> /etc/printcap

echo "$PRINTER_X_NAME:lp=$PRINTER_X_DEVICE:wd=$PRINTER_X_DRIVER:br=$PRINTER_X_OPTIONS:if=/bin/lpf:lf=/var/log/spooler.log:sh:sf" >> /etc/printcap

Adăugarea de filtrare locală a eliminat problema scărilor la imprimare. În plus, am creat următorul script pentru a testa dacă imprimarea funcționează în ~/thinstation/packages/base/bin/my:

#!/bin/sh

echo PRINTER TEST la /dev/printers/0 1>&2

pentru i în 1 2 3 4 5 6 7 8 9;

do

echo PRINTER /dev/printers/0 $i > /dev/printers/0;

Terminat

echo -e \\r\\f > /dev/printers/0

ieșire 0;

Când nu este clar ce anume nu funcționează, puteți rula acest script pe consola clientului subțire: /bin/my.

Pentru a preveni o fereastră de avertizare despre o gazdă necunoscută să apară de fiecare dată când conectați un client NX la server, creați un fișier known_hosts în rădăcina Thinstation:

ssh-keyscan -t rsa nxserver_ip>>~/thinstation/known_hosts

Ca „nxserver_ip” trebuie să specificați adresa IP a serverului NX. În acest fel, clientul va ști despre amprenta digitală a cheii RSA a serverului NX în timpul autentificării.

După executarea cu succes a construcției, copiați thinstation/boot-images/etherboot/thinstation.nbi și thinstation.nbi.zpxe, precum și toate fișierele pkg din thinstation/boot-images/pkg-packages în directorul /tftpboot de pe serverul tftp . Fișierul thinstation.nbi.zpxe pe care îl cream nu a funcționat, în acest caz puteți descărca fișierul BootPXE535.zip de la această adresă, această arhivă conține un loader universal loader-native.zpxe, totul ar trebui să funcționeze cu el.

Fișierele de configurare Thinstation sunt destul de bine comentate, dar procesul de configurare în sine și succesiunea acțiunilor nu sunt întotdeauna evidente, așa că voi menționa în continuare unele dintre dificultățile pe care am avut de întâmpinat și subtilitățile.

Figura 3. Fișierele de configurare pentru Thinstation thin client

În fig. Figura 3 prezintă pașii principali pentru punerea în funcțiune a clientului subțire. Mai întâi, adăugați informații despre adresa MAC a plăcii de rețea la dhcpd.conf. Nu uitați să specificați setările legate de tftp în descrierea subrețelei; acestea sunt stabilite de directivele „next-server” și „option root-path”. Serviciile mele tftp și dhcp sunt situate pe același server FreeBSD, acest lucru ușurează configurarea lor. Toate fișierele de setări sunt localizate în /tftpboot. Apoi în fișierul thinstation.hosts scriem în ordine: un nume de gazdă arbitrar (este mai bine să includă informații despre locația terminalului), adresa MAC, grupuri din care terminalul este membru, la sfârșitul liniei puteți plasa comentarii după semnul „#”, de exemplu:

otd146_57158 00e04d08d710 smb_flop_hard monitor TUX1C #PC foarte important

Iată în ordine: numele gazdei, în cazul meu, constă din numărul departamentului și numărul de inventar, apoi MAC-ul și apoi o listă a numelor fișierelor de configurare care vor fi folosite de această gazdă.

Apoi, creăm un fișier de setări thinstation.conf-MAC, eu folosesc adresa MAC în nume, deși puteți folosi adresa IP sau numele de la thinstation.hosts. Rețineți că aici se utilizează numai adresa MAC din numele fișierului litere mari. Grupurile sunt descrise în fișierele numite thinstation.conf.group-GROUPNAME. Fișierul thinstation.conf-MAC conține acele setări care se aplică numai acestui terminal și nu sunt incluse în alte grupuri. De exemplu, toate setările generale ale monitorului sunt descrise în fișierul thinstation.conf.group-monitor și un parametru „SCREEN_VERTREFRESH” este mutat în fișierul thinstation.conf-MAC. Acest lucru se datorează faptului că sunt utilizate diferite monitoare, iar setarea ratei de cadre a ecranului poate fi modificată; acesta și alți parametri pot fi configurați pentru fiecare terminal sau pentru toți simultan. Același lucru este valabil și pentru setările mouse-ului. În mod implicit, setarea este făcută pentru un mouse PS/2. Dacă se folosește un mouse conectat la portul COM1, atunci sunt specificați doi parametri „MOUSE_PROTOCOL=Microsoft” și „MOUSE_DEVICE=/dev/ttyS0”, dacă la portul COM2, al doilea parametru este /dev/ttyS1.

Fișierul meu de configurare comun /tftpboot/thinstation.conf.network este aproape gol. Toate informațiile din acesta sunt plasate în fișiere separate de setări de grup, la care se face referire în thinstation.hosts. Deoarece sunt utilizate două servere terminale cu versiuni diferite de NX și fiecare client folosește doar propriul server, configurațiile sunt plasate în fișiere text separate (NX și TUX1C), în plus, sunt folosite diferite imagini Thinstation. De asemenea, nu uitați că numele fișierelor thinstation.nbi și thinstation.nbi.zpxe sunt interdependente: dacă linia este specificată în dhcpd.conf:

thinstation.nbi.zpxe";

atunci se va folosi imaginea thinstation.nbi, în cazul meu sunt mai multe imagini și, în consecință, intrările din dhcpd.conf sunt diferite pentru fiecare terminal.

Diferențele de construcție NX2

Sistemul nostru folosește două servere NX. One rulează NX, compilat din versiunile de cod sursă 1.5, iar clienții 1.5.x sunt folosiți pentru a lucra cu acesta. Celălalt rulează NX versiunea 2.0. Vă voi spune care sunt diferențele în funcționarea și asamblarea acestei versiuni. Serverul are instalate Opteroni pe 64 de biți și utilizează sistemul SLES 10.0 x86_64. Deci, nu am putut construi NX pe acest server în același mod ca în cazul NX 1.5 pe un sistem pe 32 de biți, chiar și atunci când am încercat să specific în mod explicit construcția pentru un sistem pe 32 de biți:

faceți lumea BOOTSTRAPCFLAGS="-m32"

Aparent, acestea sunt caracteristici ale sistemului pe 64 de biți și ale bibliotecilor sale. Puțin mai târziu, am găsit o notă pe site-ul Nomachine care spunea că codul sursă NX a fost dezvoltat pentru sisteme pe 32 de biți, dar poate fi folosit și pe sisteme pe 64 de biți. Deoarece încă mai am un computer cu SLED 10.0 x86 instalat și versiunile tuturor bibliotecilor, nucleului și programelor sunt exact aceleași ca SLES, am decis să construiesc NX pe el și apoi să transfer directorul cu rezultatul construirii. copiere regulată pe un sistem pe 64 de biți. Asta am făcut: totul a funcționat ca și cum nimic nu s-ar fi întâmplat. Descărcăm fișiere cu aceleași nume ca atunci când construim versiunea 1.5, doar cu sufixele 2.0 (sau 2.1). Totul se compilează exact la fel ca în cazul lui NX 1.5, cu unele excepții: în primul rând, nu am aplicat corecția NX-lfs_hint.diff, în al doilea rând, o nouă versiune Scripturile FreeNX 0.5, care acceptă noul NX 2.0, pot fi descărcate aici , în al treilea rând, fișierul freenx-lfs_hint.diff, care face modificări în fișierul nxloadconfig din FreeNX 0.4, nu se potrivește cu noua versiune de FreeNX, trebuie să fie editat. Iată rezultatul comenzii diff, care arată diferența dintre fișierul nxloadconfig original și editat:

--- nxloadconf_orig 2006-07-01 22:03:39.000000000 +0500

+++ nxloadconfig 2006-10-16 12:32:19.000000000 +0500

@@ -56,12 +56,12 @@

NX_LICENSE="OS (GPL)"

# Unde pot fi găsite diferite componente nx

-NX_DIR=/usr

+NX_DIR=/srv/NX

PATH_BIN=$NX_DIR/bin # dacă o modificați, asigurați-vă că și

schimba cheile publice

PATH_LIB=$NX_DIR/lib

-NX_ETC_DIR=/etc/nxserver

-NX_SESS_DIR=/var/lib/nxserver/db

-NX_HOME_DIR=/var/lib/nxserver/home

+NX_ETC_DIR=$NX_DIR/etc

+NX_SESS_DIR=$NX_DIR/var/db

+NX_HOME_DIR=$NX_DIR/home/nx

# NUMAI utilizatori avansați

AGENT_LIBRARY_PATH="" #Calculat

@@ -265,7 +265,7 @@

[ -z „$AGENT_LIBRARY_PATH” ] && AGENT_LIBRARY_PATH=$PATH_LIB

[ -z „$PROXY_LIBRARY_PATH” ] && PROXY_LIBRARY_PATH=$PATH_LIB

[ -z „$APPLICATION_LIBRARY_PATH” ] && APPLICATION_LIBRARY_PATH=$PATH_LIB

-[ -z „$APPLICATION_LIBRARY_PRELOAD” ] && APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11.so.6.2:$APPLICATION_LIBRARY_PATH/libXext.so.6.4:$APPLICATION_LIBRARY_PATH./libX11.so.6.2:$APPLICATION_LIBRARY_PATH/libXext.so.6.4:$APPLICATION_LIBRARY_PATH./libXPATH_comp. 1: $ APPLICATION_LIBRARY_THE/libXrender.so.1.2"

+[ -z „$APPLICATION_LIBRARY_PRELOAD” ] && APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11.so.6.2:$APPLICATION_LIBRARY_PATH/libXext.so.6.4:$APPLICATION_LIBRARY_PATH/libX11.so.6.2:$APPLICATION_LIBRARY_PATH/libXext.so.6.4:$APPLICATION_LIBRARY_PATH/lib. .deci. 2.1 .0:$APPLICATION_LIBRARY_PATH/libXrender.so.1.2"

[ -z „$KDE_PRINTRC” -a -n „$KDEHOME” ] && KDE_PRINTRC="$KDEHOME/share/config/kdeprintrc"

[ -z „$KDE_PRINTRC” -a -z „$KDEHOME” ] && KDE_PRINTRC="$HOME/.kde/share/config/kdeprintrc"

@@ -511,8 +511,8 @@

[ -z $(echo „$ENABLE_ROOTLESS_MODE” | egrep „^$”) ] && \

ERROR="yes" && echo "Eroare: valoare nevalidă \"ENABLE_ROOTLESS_MODE=$ENABLE_ROOTLESS_MODE\""

- [ -z „$(șiruri $PATH_BIN/nxagent | grep „NXAGENT - Versiunea 1.5.0”)” ] && \

- ERROR="yes" && echo "Eroare: Nu s-a putut găsi șirul versiunii 1.5.0 în nxagent. Backend-ul NX 1.5.0 este necesar pentru această versiune de FreeNX."

+# [ -z "$(șiruri $PATH_BIN/nxagent | grep "NXAGENT - Versiunea 1.5.0")" ] && \

+# ERROR="yes" && echo "Eroare: Nu a putut găsi șirul versiunii 1.5.0 în nxagent. Backend-ul NX 1.5.0 este necesar pentru această versiune de FreeNX."

[ -z $(echo „$ENABLE_USESSION” | egrep „^$”) ] && \

ERROR="yes" && echo "Eroare: valoare nevalidă \"ENABLE_USESSION=$ENABLE_USESSION\""

Nxloadconfig trebuie editat înainte de a rula comanda /srv/NX/bin/nxsetup. În fișierul de configurare /srv/NX/etc/node.conf, decomentați linia:

ENABLE_2_0_0_BACKEND="1"

Acum să vedem ce trebuie schimbat în distribuția Thinstation ( ultima versiune acum 2.2) pentru a suporta NX 2.0 pe partea clientului. La momentul scrierii, doar versiunea client 1.5 era acceptată. Luăm clientul NX, care nu necesită suport pentru bibliotecile XFT, de la adresa sub forma unei arhive tar.gz (momentan este nxclient-2.1.0-9.i386.tar.gz), îl despachetăm în directorul principal, copiați fișierele și creați link-urile celor lipsă.

#!/bin/sh

tar -xzf nxclient-2.1.0-9.i386.tar.gz

cp ~/NX/bin/* ~/thinstation/packages/nx/usr/NX/bin

cp -fl ~/NX/lib/libXcomp.so.* ~/thinstation/packages/nx/usr/NX/lib/

ln -sf libXcomp.so.2.1.0 ~/thinstation/packages/nx/usr/NX/lib/libXcomp.so.1.5.0

cp ~/NX/share/keys/server.id_dsa.key ~/thinstation/packages/nx/usr/NX/share/keys

cp ~/NX/share/keyboards ~/thinstation/packages/nx/usr/NX/share/

cp -R ~/NX/share/images ~/thinstation/packages/nx/usr/NX/share/

atingeți ~/thinstation/packages/nx/build/installed

După acești pași, pachetul NX este considerat instalat în arborele pachetelor Thinstation, acum asamblam imaginea rulând build și o copiem pe serverul tftp. Ei bine, imaginea este gata și plasată în directorul serverului tftp, dar asta nu este tot. Se pare că noua versiune a clientului NX pe clientul subțire interpretează diferit setările din fișierele thinstation.conf.group-TUX1C(NX). După câteva cercetări, s-a dovedit că fișierul de setări de sesiune NX ar trebui creat în rădăcina sistemului de fișiere client subțire. A trebuit să fac un mic patch pentru Thinstation, am văzut ideea pe un forum:

# Patch-ul copiază pur și simplu fișierele de setări ale clientului NX din scaun standard până la rădăcină

ls $HOME/.nx/config/.>nxsessions

if [ -s nxsessions ] ; apoi

(cat nxsessions) |

în timp ce se citește numele fișierului; do

probe=$(nume fișier%*.nxs)

if [ "$filename" != "$probe" ]

apoi

cp $HOME/.nx/config/$filename /$probe

fi

Terminat

fi

rm nxsessions

Această bucată de cod ar trebui să fie inserată la sfârșitul fișierului ~/thinstation/packages/nx/etc/init.d/nx.init înainte de ultima comandă „exit 0”. După aceasta, trebuie să reconstruiți imaginea Thinstation. Acum, sesiunea NX pe clientul subțire începe așa cum a fost prevăzut. În general, noua versiune funcționează mai stabil, sesiunile sunt gestionate mai corect, plus algoritmii de compresie au fost actualizați în cele mai recente surse, iar unele erori au fost remediate. Anterior, pentru a curăța și a închide sesiunile și procesele neterminate, trebuia să apelezi la cron:

1 0 * * * root /srv/NX/bin/nxserver –cleanup

De asemenea, este convenabil ca clientul NX 2.1 să funcționeze cu serverele ambelor versiuni.

Figura 4. Sesiunea NX în modul aplicație (1C)

În numărul următor, citiți continuarea articolului, în care voi vorbi despre caracteristicile de operare, setările suplimentare ale NX și Thinstation și, de asemenea, voi oferi soluții la unele posibile probleme.

1. Borisov A. Client subțire - un pas către mainframe? //Administrator de sistem, nr. 11, noiembrie 2005 – p. 32-38.

2. Markelov A. Folosind stații Linux fără disc cu încărcare în rețea. //Administrator de sistem, nr. 11, noiembrie 2004 – p. 12-14.

Mulți utilizatori dau peste conceptul de clienți subțiri aproape în fiecare zi, deși nu sunt complet conștienți de ceea ce au de-a face. Chiar nu se înțelege cum funcționează clienții subțiri. Uită-te doar la computerul tău și la software-ul instalat pe el. În continuare, ne propunem să luăm în considerare mai multe situații posibile legate de conceptul de client subțiri în sistemul de operare. Și nu trebuie să fie un sistem de operare Windows. Principiile după care este instalat și configurat clientul subțire sunt aceleași pentru toate sistemele.

Ce este un client subțire în esență?

În general, dacă te uiți la o justificare oficială, un client subțire înseamnă oricare sistem informatic Cu dizabilități, sau software care interacționează cu servere la distanță.

Pentru a fi puțin mai clar, clienții subțiri de pe terminalele utilizatorilor pot fi reprezentați chiar ca un browser web obișnuit. Întregul sistem informatic este un așa-numit client gros, iar atunci când se generează și se transmite o solicitare către un server de pe Internet, se folosește un strat sub forma unui client subțire (un browser de internet).

Pe de altă parte, clienții subțiri pot fi descriși și ca terminale de computer cu configurație minimă și fără hard disk, dar conectate la o rețea locală, atunci când sistemul de operare este descărcat de pe un server central pe fiecare computer folosind protocoale speciale de rețea. Același lucru este valabil și pentru unele tipuri de aplicații software.

Schema server-client subțire: cum funcționează?

De fapt, esența întrebării se rezumă la faptul că atunci când trimite o cerere către server, acesta identifică cererea, o confirmă și trimite un răspuns către mașina client.

Nu contează deloc schema de conexiune folosită. Principalul lucru este redirecționarea clară. Acest lucru poate fi explicat folosind exemplul de încărcare a sistemului de operare de la un server central pe terminale client care nu au hard disk.

Încărcare sisteme de operare

Dar cum poate un sistem de operare să pornească pe un computer fără un hard disk? Elementar! Conexiuni moderne poate utiliza protocoale precum RIS, DHCP, PXE, RDP și altele.

Se dovedește că de fapt nu există un sistem de operare pe mașina client de la distanță, dar terminalul poate funcționa cu sistemul de operare instalat pe server, utilizând în același timp parțial atât capacitățile sale de calcul, cât și configurațiile computerelor din mediu. Astfel, clienții subțiri de acest tip primesc ei înșiși o sarcină distribuită în întreaga rețea. resurse informatice, iar performanța sistemului de operare nu suferă de acest lucru. Un alt plus este că administrarea mașinilor client în ceea ce privește interventie fizica Setările sistemului de operare pentru fiecare dintre ele sunt complet opționale. Acest lucru se poate face de pe computerul sau serverul administratorului folosind cel mai comun acces de la distanță. În acest caz, vorbim despre utilizarea unui client subțire pe Windows (RDP), care este încorporat în cea de-a șaptea versiune și o versiune superioară.

Sistem client subțire: cerințe

Dacă vorbim în mod specific despre terminale de computer, un procesor foarte simplu și doar 1 MB de RAM sunt de obicei suficiente pentru a opera un client subțire de orice tip.

În cazul în care se utilizează un fel de mediu de internet (de exemplu, Office 365), în obligatoriu Trebuie să aveți cel puțin un fel de browser web și o viteză de conectare destul de mare. Apropo, situația cu „The Office” pare destul de interesantă. Cert este că acest proiect de internet folosește capacitățile inerente majorității programelor de acest tip cu posibilitatea de a accesa și edita simultan documente individuale, chiar dacă sunt salvate în stocarea în cloud.

Exemplu de instalare și configurare a aplicațiilor 1C

Cu toate acestea, să vedem cum este instalarea unui client subțire folosind produse software 1C ca exemplu.

Cerința aici este cea mai simplă: partea de server este situată pe terminalul central, clienții sunt pe alte mașini din rețeaua locală. Numai în acest caz, utilizarea unei conexiuni prin este de obicei utilizată la nivel TCP/IP, HTTP sau HTTPS, iar terminalele sunt instalate hard disk-uri volum minim pentru instalarea părții client a programului.

O diagramă de configurare aproximativă ar putea arăta astfel:

  • descărcarea și instalarea clienților 8.2 și 8.3;
  • publicarea bazei de date pe server;
  • adăugarea unei baze de date la lista celor disponibile;
  • configurarea unei conexiuni de tip „server web”.

Apropo, merită remarcat faptul că mașinile client pot accesa doar programul central sau pot efectua un set minim de acțiuni permise.

Ei nu iau parte la generarea de raportare, iar întreaga sarcină cade exclusiv pe serverul PC-ului.

Conexiune și licențe

Clienții subțiri sunt, de asemenea, buni, deoarece puteți instala certificate și licențe utilizate pentru software comercial folosind mai multe metode, ceea ce reduce semnificativ costul achiziției lor oficiale. Ca reguli de bază, puteți fie să instalați o licență pentru o singură mașină pe care sunt înregistrați mai mulți utilizatori, fie să cumpărați licențe pentru un anumit număr de utilizatori care au acces la diferite terminale de calculator, adică atunci când se conectează sub înregistrarea lor, pot lucra cu programul client pe orice computer din rețeaua locală.

Beneficii și Avantaje

Când te uiți la beneficiile pe care o organizație sau o afacere le primește din utilizarea clienților subțiri, acestea se rezumă în principal la câteva lucruri. În primul rând, există o economie semnificativă în costul achiziționării hardware-ului sau software-ului necesar. În al doilea rând, problema administrării terminalelor de utilizator situate în rețeaua locală dispare imediat. După cum am menționat mai sus, acest lucru se poate face pur și simplu de pe un server central. În al treilea rând, devine posibil să utilizați același sistem de operare și același software pe toate mașinile din rețea. Adevărat, versiunea de server a sistemului de operare trebuie să fie instalată pe serverul însuși, deși unele administratorii de sistem cu un număr mic de terminale fiice reușesc să folosească chiar și modificările staționare convenționale.

Dar sunt și probleme. De exemplu, dacă alegeți o topologie de conexiune non-stea, calculatoarele conectate în serie sau conectate la un singur cablu central pot cauza defectarea întregii rețele dacă cel puțin unul dintre ele dezvoltă probleme și erori. În caz contrar, folosirea clienților subțiri este justificată, după cum se spune, sută la sută. Adevărat, nu are rost să folosești astfel de tehnologii acasă. Dar în fabrici și birouri, uneori, aceasta devine o necesitate absolută.

Thinstation este o distribuție mini Linux care vă permite să transformați computerele standard în clienți subțiri fără disc. Poate fi pornit prin rețea folosind Etherboot/PXE sau de la media standard- dischetă/CD/hard disk/flash disc etc.

Schema de încărcare
Pornirea Linux de pe HDD (SATA sau PATA) sau Flash– Sistemul de operare Linux este încărcat de pe discul pe care se află imaginea sistemului și nucleul.
Notă: Dacă se utilizează un ansamblu compilat cu opțiunile NET_USE_DHCP=off și NET_FILE_ENABLED=OFF, atunci cererea către serverul DHCP nu are loc și se utilizează fișierul de configurare local thinstation.profile/thinstation.conf.user
Solicitați serverul DHCP– la inițializarea interfeței de rețea, se face o solicitare către serverul DHCP pentru a obține adresa IP a clientului, masca de subrețea și adresa IP a serverului TFTP pentru a obține fișierele de configurare.
Răspunsul serverului DHCP– Când se primește un răspuns, clientului i se atribuie o adresă IP și se transmit informații unde să caute fișierele de configurare. – Scripturile de pornire a sistemului Linux primesc fișiere de configurare de la serverul TFTP care descriu parametrii necesari pentru a conecta clientul la serverul terminal.
Inițializarea clientului terminal

Instalare pe disc
Pentru a instala, trebuie să creați o partiție de 100 MB pe hard disk cu fișier sistemul gras. Copiați conținutul arhivei pe disc. Editați fișierul de configurare thinstation.profile/thinstation.conf.user; o descriere a setărilor poate fi găsită în articolul Sintaxa fișierelor de configurare.
Înregistrați bootloader-ul, de ce în Linie de comanda windows (Start - Run - cmd) sau după încărcarea DOS, tastați:

F:>syslinux.exe -ma f:

unde f- disc cu imagine

Efectuarea de modificări la fișierul de configurare pe un sistem deja instalat:
1. Încărcați clientul terminal, mergeți la a doua consolă Alt+F2 sau Alt+Ctrl+F2 (dacă AUTOSTART=Activat). Autentificare ca root, parola secretword. Folosim e3 ca editor. Formăm:

E3 /mnt/disc/sda/part1/thinstation.profile/thinstation.conf.user

Unde sda- primul disc SATA, pentru PATA - hda. Pentru a evita tastarea întregii căi, utilizați butonul Tab după primele litere introduse. După editare, apăsați Ctrl+K X pentru a salva.
2. Puteți edita thinstation.conf.user de la distanță prin telnet. Pentru Windows este mai bine să folosiți PuTTY
P.S. Dacă discul este formatat în ext2/ext3/ext4, atunci aveți nevoie de extlinux pentru a porni.Descărcați arhiva syslinux și luați-o din ea (/syslinux-6.02/bios/extlinux/). Secțiunea trebuie să fie activă.
Deschideți consola și mergeți la partiția montată cu un disc sau o unitate flash, de exemplu cd /mnt/flash, copiați extlinux acolo și executați: ./extlinux –install . Punctul de la sfârșit înseamnă că instalăm în directorul curent.
Fișier de configurare: extlinux.conf, o copie exactă a syslinux.cfg


Cum funcționează PXE
1.Solicitare PXE către serverul DHCP:
2. Răspunsul serverului DHCP
– în funcție de parametrii fișierului de configurare se lansează clientul RDP sau ICA, care stabilește o conexiune cu serverul terminal.

Configurarea unui server DHCP și TFTP pe Linux.

Exemplu de configurare pe Freebsd.
În Freebsd pentru ca inetd să asculte solicitări TFTP, trebuie să decomentați linia din fișierul /etc/inetd.conf:

Tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot

Și reporniți serviciul inetd:

Dom:~# killall -1 inetd

Apoi creați un director tftpboot și acordați permisiuni:

Dom:~# mkdir /tftpboot dom:~# chmod -R 777 /tftpboot

Opțiune nume-domeniu „example.com”; opțiune domain-name-server 192.168.0.1; server-identifier NAME_HOST; autoritar; permite pornirea; permite încărcarea; max-lease-time 172800; ignora actualizările clientului; ddns-domainname „example.com”; ddns-actualizări pe; ddns-update-style interimar; default-lease-time 86400; log-facilitate local7; Subrețea 192.168.0.0 Netmask 255.255.255.0 (opțiunea subnet-mask 255.255.255.0; routere de opțiune 192.168.0.1; one-leas-pe-client pe; interval 192.168.0.20 192.168.0.30;) grup (FileName "Pxelinux.0"; următorul server 192.168.0.1; gazdă 1 ( hardware ethernet 00:0E:8F:32:B6:C5; adresă fixă ​​192.168.0.10; ) gazdă 2 ( hardware ethernet 08:20:07:26:C0:A5; fix -adresa 192.168.0.11; ) )

Despachetarea imagine thinstation cu pxe în /tftpboot

Firmware-ul compatibil PXE este utilizat de producători în fabricarea plăcilor de rețea și BIOS placii de baza placi cu placi de retea integrate. Prin urmare, pentru boot fără disc veți avea nevoie card LAN echipat cu firmware PXE. Dacă aveți o placă de rețea fără firmware, dar doriți să faceți boot fără disc, atunci singura cale de ieșire este să utilizați firmware-ul Etherboot. Această opțiune nu este luată în considerare aici.
Cum funcționează PXE
1.Solicitare PXE către serverul DHCP: o placă de rețea cu suport PXE solicită serverului DHCP să primească parametri precum adresa IP a clientului, masca de subrețea, adresa IP a serverului TFTP pe care se află imaginea și, de asemenea, numele imaginii.
2. Răspunsul serverului DHCP– serverul atribuie o adresă IP și apoi o transmite altor parametri pentru utilizare de către client. – clientul descarcă mai întâi bootloader-ul PXE - pxelinux - de la adresa IP a serverului TFTP specificat de serverul DHCP. 0, cu ajutorul căruia se încarcă nucleul sistemului de operare Linux - vmlinuz și imaginea sistemului de fișiere - initrd, care include tot ce este necesar pentru ca clientul să funcționeze. – Scripturile de pornire a sistemului Linux primesc fișiere de configurare de la serverul TFTP, care descriu parametrii necesari pentru conectarea clientului la serverul terminal.
5.Inițializarea clientului terminal– în funcție de parametrii fișierului de configurare se lansează clientul RDP sau ICA, care stabilește o conexiune cu serverul terminal.

Configurarea unui server Windows 2003

Servicii necesare pentru funcționarea clienților subțiri

Puteți utiliza ca server terminal:

Microsoft® Windows® Terminal Server

Citrix® MetaFrame®

Dacă îl folosiți ca terminal server Windows® Terminal Server, selectați următoarele servicii:

Terminal Server

Dacă utilizați Citrix® MetaFrame® ca server terminal, selectați următoarele servicii:

Citrix® MetaFrame®

Pachetul de boot PXE

Configurarea serverului DHCP

Pentru Setări DHCP Serverul execută următoarele acțiuni:

2. Faceți clic pe butonul Adăugați sau eliminați un rol.

3. În caseta de dialog Pași preliminari care se deschide, faceți clic pe Următorul.

4. În caseta de dialog Opțiuni de configurare care se deschide, selectați elementul Configurare personalizată și faceți clic pe Următorul.

5. În lista Rol server, selectați Server DHCP și faceți clic pe Următorul de două ori.

6. În caseta de dialog Bine ați venit la noul expert Scope, faceți clic pe Următorul.

7. În caseta de dialog Nume domeniul de aplicare, în câmpurile Nume și Descriere, introduceți un nume și o descriere, apoi faceți clic pe Următorul.

8. În caseta de dialog Interval de adrese IP, parcurgeți următorii pași pentru ca serverul DHCP să emită adrese IP clienților subțiri:

Introduceți adresa IP de pornire

Introduceți adresa IP finală

Faceți clic pe Următorul.

9. În caseta de dialog Adăugare excluderi care se deschide, puteți specifica un interval de adrese care nu vor fi alocate de serverul DHCP. Faceți clic pe Următorul.

10. În caseta de dialog Durată de închiriere care se deschide, puteți specifica timpul în care adresa IP va fi utilizată de către clienții subțiri. Faceți clic pe Următorul.

11. În caseta de dialog Configurare opțiuni DHCP, selectați Nu, voi configura aceste opțiuni mai târziu. Faceți clic pe butonul Următorul, apoi pe butonul Terminare.

12. Confirmați acțiunea apăsând din nou butonul Finish.

13. Selectați Start→Programs→Administrative Tools→Manage Your Server.

14. În meniul de dialog care se deschide, selectați elementul Manage this DHCP server

15. În caseta de dialog, selectați Opțiuni server. Făcând clic pe butonul din dreapta al mouse-ului, se deschide meniul contextual selectați Configurare opțiuni.

16. În listă, faceți următoarele:

Selectați elementul 066 Nume gazdă server de pornire și specificați adresa IP a serverului TFTP pe care ați instalat serverul DHCP

Selectați elementul 067 Bootfile Name și introduceți numele bootloader-ului pxe, și anume pxelinux.0

17. Faceți clic pe butonul Aplicare.

18. În caseta de dialog, selectați elementul Scop. Faceți clic dreapta și selectați Activare în meniul contextual care se deschide.

Configurarea serverului DHCP este completă.

Configurarea serverului TFTP

1. Selectați Start→Settings→Control Panel→Add or Remove Programs.

2. Faceți clic pe butonul Adăugare/Eliminare componente Windows.

3. În lista Componente, selectați Servicii de instalare la distanță și faceți clic pe Următorul.

4. Faceți clic pe butonul Terminare și când vi se solicită să reporniți, selectați Nu. Reporniți serverul mai târziu.

Configurarea Terminal Server

1. Selectați Start→Programs→Administrative Tools→Manage Your Server.

2. Faceți clic pe butonul Adăugați sau eliminați un rol.

3. În caseta de dialog Pași preliminari, faceți clic pe Următorul.

4. În lista Rol server, selectați Terminal Server și faceți clic pe Următorul de două ori.

5. Fereastra de dialog Configure Your Server Wizard care se deschide va afișa un avertisment despre repornirea serverului. Faceți clic pe Ok.

6. După repornire, faceți clic pe Terminare.

Configurarea serverului TFTP pentru a porni automat

2. Extindeți lista Servicii și aplicații și selectați elementul Servicii.

3. În partea dreaptă a listei care apare, faceți clic dreapta pe elementul Trivial FTP Daemon și selectați Proprietăți în meniul contextual.

4. În fila General, în meniul drop-down Tip de pornire, selectați Automat. Faceți clic pe butonul Aplicați, apoi pe butonul OK.

Crearea utilizatorilor sesiunii terminale

1. Faceți clic dreapta pe comanda rapidă My Computer și selectați Manage.

2. Din lista derulantă Local Users and Groups, selectați folderul Users.

3. În lista de utilizatori care apare în partea dreaptă, faceți clic dreapta și selectați Utilizator nou în meniul contextual care se deschide.

4. În caseta de dialog Utilizator nou, introduceți un nume de utilizator și o parolă. Este posibil să deselectați Utilizatorul trebuie să schimbe parola la următoarea conectare și să setați elementele de care aveți nevoie: Utilizatorul nu poate schimba parola, Parola nu expiră niciodată, Contul este dezactivat ( Cont dezactivat). Faceți clic pe butonul Aplicați, apoi pe butonul OK.

5. Selectați folderul Grupuri din listă, iar în lista din dreapta, faceți clic dreapta pe numele grupului Desktop la distanță Utilizatori, apoi selectați Proprietăți.

6. În meniul care apare, selectați General, faceți clic pe butonul Adăugare și introduceți numele utilizatorului căruia doriți să îi permiteți accesul terminalului la server. Apoi faceți clic pe butonul Verificare nume și confirmați alegerea făcând clic pe butonul OK.

7. Faceţi clic pe butonul Aplicare şi pe butonul OK.

Copierea fișierelor necesare pentru a porni clienții subțiri

1. Creați un folder C:tftpdroot.

2. Copiați fișierele pxelinux.0, vmlinuz, initrd, thinstation.conf.network în el.

3. Creați un folder cu:tftpdrootpxelinux.cfg.

4. Copiați fișierul implicit în folderul c:tftpdrootpxelinux.cfg

5. Acum trebuie să editați fișierele de configurare. O descriere detaliată a acțiunilor este prezentată în Partea 3. „Modificarea parametrilor fișierelor de configurare”.

Configurarea unui server pentru a transmite audio către clienții subțiri
Atenţie!
Pentru a transmite audio către clienți subțiri, serverul trebuie să aibă instalat Microsoft® Windows® 2003, placa de sunetși șoferii necesari.

1. Selectați Start→Settings→Control Panel

2. Deschideți Sunete și dispozitive audio și selectați Activare Windows Audio. Faceți clic pe Ok.

3. Când vi se solicită să reporniți, faceți clic pe Da.

4. După repornire, apelați Microsoft® Management Console (Start→Run→mmc).

5. Apoi faceți următoarele: Fișier→Adăugați/Eliminați Snap-in și faceți clic pe butonul Adăugare.

6. Selectați Group Policy Object Editor și faceți clic pe butonul Adăugare, apoi faceți clic pe butoanele Finish, Close, Ok.

7. Deschideți elementul Local Computer Policy→Computer Configuration→Administrative
Șabloane→Componente Windows→Servicii terminale→Redirecționare date client/server.

8. În lista din dreapta, utilizați butonul din dreapta pentru a selecta Proprietăți în elementul Permite redirecționare audio.

9. Selectați elementul Activat și faceți clic pe butonul Aplicare, apoi pe butonul OK.

Cerințe PC:
RAM nu mai puțin de 256 Mb
Unitate flash nu mai puțin de 128 Mb


Pentru a face o unitate flash USB bootabilă, utilizați fișierul →

Asamblarea unui client subțire orientat către clienți anumi se reduce la următorii pași:

  • Descărcați depozitul complet ThinStation
  • Colectarea unei imagini „groase” (plină).
  • Încărcarea unui client subțire pe o imagine groasă
  • Primim o listă de module și pachete de kernel necesare pentru acest client
  • Corectăm configurațiile de asamblare, lăsând doar elementele esențiale (inclusiv cele obținute în etapa anterioară)
  • Adunarea unei imagini „subțiri” (ușoare).

Pregatirea bucatariei

Voi spune imediat că există o altă modalitate de a construi - descărcarea unei imagini .iso pregătite. Dar nu mi se pare atât de convenabil, așa că voi descrie opțiunea „corectă”.

Descărcarea depozitului

În general, pentru a lucra cu ThinStation, se recomandă să aveți cunoștințe de bază de lucru cu Git. Pur și simplu pentru că modificările tale vor trebui salvate undeva și este foarte ușor să te pierzi în ierarhia fișierelor atunci când bucătăria este deja dezambalată (fără să cunoști Git). Descărcarea se reduce la executarea unei comenzi.

Orice altceva nu este important acum - îl vom ajusta mai târziu.

Mă voi opri separat asupra motivului pentru care trebuie să schimbați sistemul de compresie de la squashfs la gzip. Scriptul hwlister.sh, care va fi discutat mai jos, folosește o tehnică foarte interesantă pentru căutarea firmware-ului descărcat - pur și simplu se uită la timpul de acces la fișierele din /lib/firmware și, pe baza acestuia, trage concluzii despre fișierele descărcate. . Dar squashfs este montat cu parametrul relatime, ceea ce duce la faptul că timpul de acces la fișiere nu se schimbă și lista de firmware (la naiba, nu știu cum să traduc acest cuvânt fără a-și pierde sensul) este întotdeauna goală. Schimbarea modului de compresie la gzip este cea mai ușoară și cale rapidă readuceți scenariul la viață fără a intra în măruntaie. Le-am scris dezvoltatorilor despre asta, dar încă nu am primit niciun răspuns.

Asamblare

Orice imagine este construită într-un chroot - așa că nu uitați să intrați în ea. Pentru a construi o imagine groasă, există și un parametru special --allmodules, care include totul din imagine modulele disponibile nuclee, care este util și pe hardware necunoscut.

După finalizarea procesului, puteți găsi opțiuni de imagine în directorul boot-images - iso, pxe și syslinux. Puteți utiliza orice și descărca clientul în orice mod convenabil.

Colectarea de informații

Când hardware-ul experimental s-a încărcat cu succes, trebuie să mergeți la consolă în orice mod convenabil și să scrieți:

Acesta este un script bash simplu, după ce îl executați veți găsi mai multe fișiere:

  • /firmware.list - lista firmware-ului necesar
  • /module.list - lista modulelor kernel necesare
  • /package.list - listă de pachete necesare, având în vedere că arhitectura va conține doar pachete xorg7-*
  • /vbe_modes.list - dacă se folosește uvesafb, acest fișier va conține o listă de moduri acceptate

Este posibil ca unele fișiere să lipsească dacă nu se găsește nimic care să se potrivească

Același script va încerca să încarce fișiere pe serverul dvs. tftp specificat în configurație, cu toate acestea, sper că, ca și mine, aveți dezactivat scrierea în tftp. Prin urmare, luăm fișierele din sistemul testat în orice fel și le punem în directorul ts/build/machine/MACHINENAME, unde MACHINENAME este numele de cod pe care îl veți da hardware-ului dumneavoastră.

Imagine subtilă

Adunarea unui aspect subtil este întotdeauna echilibrarea la granița dintre funcționalitate și volum. Volum mai mic înseamnă încărcare mai rapidă a stațiilor de lucru fără disc prin rețea, pornire mai rapidă sisteme, mai puțină RAM este necesară de către clienți. Personal, am avut sarcina de a realiza o imagine de dimensiune minimă pentru o singură sarcină - un client RDP terminal. Despre asta voi vorbi.

Deci, avem un birou, un set de clienți subțiri conectați prin fire, care primesc o adresă prin DHCP, pornind prin PXE și pornind o singură aplicație - un client RDP.

Configurare build - build.conf

După cum am scris mai sus, primul pas în configurația build-ului este editarea fișierului build.conf. Determină ce pachete vor fi incluse în imagine și alți parametri de constructor.

  • Toate liniile care încep cu mașină sunt comentate. Ar trebui să rămână doar ceea ce folosești. Trebuie remarcat faptul că în configurație puteți menține mai multe profiluri active simultan - atunci veți obține o imagine care rulează pe oricare dintre ele (teoretic, dacă nu există conflicte).
  • Cel mai probabil nu veți avea nevoie de alte sisteme de fișiere decât vfat și ntfs - așa că în blocul sisteme de fișiere puteți comenta în siguranță liniile isofs , udf , ext* .
  • Deoarece am creat un profil pentru hardware-ul nostru care conține pachetele necesare xorg7 , atunci toate liniile care conțin pachetul xorg7-* pot fi comentate în siguranță.
  • Simțiți-vă liber să comentați despre toate pachetele locale pachet locale-* cu excepția, desigur, ru_RU și, opțional, en_US - dacă este necesar sau nu este un punct discutabil.
  • Dacă aveți nevoie de acces de la distanță la stațiile de lucru, activați pachetul sshd
  • Dacă aveți nevoie de carduri inteligente și jetoane USB - activați pachetul ccidreader
  • Dacă intenționați să decupați managerul de ferestre, desktop și să afișați utilizatorului o singură aplicație (de exemplu FreeRDP) - activați pachetul automount pentru a monta automat orice dispozitiv USB. În acest caz, pachetele udisk-urile pot fi dezactivate în siguranță.
  • Dacă nu aveți nevoie de o interfață pentru conexiuni Wi-Fi și alte semnale, comentați pachetul Networkmanager și activați pachetul autonet . Dar fiți pregătiți pentru faptul că va trebui să vă aprofundați în interiorul său - acesta este un cadru scriptat pentru utilități de sistem și pe unele rețele este posibil să nu funcționeze exact așa cum vă așteptați.
  • Pentru a face imaginea cât mai ușoară posibil, porniți pachetul openbox și dezactivați pachetul gtk-* , pictogramele pachetului-* , fonturile pachetului-* .

În ceea ce privește pachetele din secțiunea Aplicații, alegerea vă aparține în întregime. Tot ceea ce este descris mai sus se aplică clienților subțiri, unde utilizatorul nu își va vedea desktopul (RDP, VNC, etc) și pentru a utiliza, de exemplu, un browser local - o mare parte din cele de mai sus vor trebui lăsate.

Trebuie doar să ne amintim să returnăm param initrdcmd „squashfs” și să eliminăm 3 linii la sfârșit: pachetul alltimezone , param allres true și param allfirmware true - nu vom avea nevoie de asta într-o imagine subțire.

Configurare runtime - thinstation.conf.buildtime

Fișierul thinstation.conf.buildtime este în esență un script bash care oferă variabile de mediu pentru toate scripturile de pornire. Înainte de a începe să-l editați, merită să aruncați o privire la directorul ts/build/conf (github) - bucăți de configurații pentru fiecare pachet sunt colectate aici, inclusiv explicații și toate variabilele disponibile.

Da ceva sfaturi universale- dificil. Configurarea va depinde de mediul dvs. și de pachetele pe care le utilizați. Voi da doar un exemplu pentru o sesiune RDP.

# Utilizatorul nu va avea o interfață de utilizare locală, așa că la nivel local creștem volumul la maxim AUDIO_LEVEL = 100 MIC_LEVEL = 100 # Pentru stațiile fără disc este logic să colectați jurnalele într-un singur loc SYSLOG_SERVER = syslog.example.com # Locale și fus orar LOCALE = ru_RU.UTF8 TIME_ZONE = Europe/Moscow # De asemenea, nu va exista niciun buton „Eliminați dispozitivul în siguranță” - așa că asigurați-vă că îl porniți USB_STORAGE_SYNC = PORNIT DISK_STORAGE_SYNC = PORNIT # Trebuie să montați dispozitivele într-un director, pe care apoi îl vom redirecționa către sesiunea de la distanță USB_MOUNT_DIR = /mnt/usb # Pentru a accepta alfabetul chirilic pe unitățile detașabile, am creat următorul set de parametri pentru mine. Este exact potrivit pentru partițiile FAT32/NTFS și FreeRDP USB_MOUNT_OPTIONS = DISK_MOUNT_OPTIONS = „rw,nosuid,nodev,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro” # Dacă ați dezactivat NetworkManager și ați pornit Autonet, asigurați-vă că ați configurat rețeaua NET_USE_DHCP = ACTIVAT # Sesiunea zero trebuie să fie manager de ferestre # Puteți încerca să faceți fără ea și chiar fără X-uri cu totul # dar acesta este un subiect pentru un articol separat SESSION_0_TITLE = Desktop SESSION_0_TYPE = openbox SESSION_0_AUTOSTART = ACTIVAT # Sesiune principală de lucru # Lista parametrilor FreeRDP - poate și un motiv pentru un articol separat SESSION_1_TITLE = RemoteDesktop SESSION_1_TYPE = freerdp SESSION_1_AUTOSTART = ON SESSION_1_FREERDP_SERVER = rdp.example.com SESSION_1_FREERDP_OPTIONS = "+decorări +fonturi +aero ..."

Asamblarea unei imagini subțiri

Acum că configurația este gata, tot ce rămâne este să asamblați o imagine ușoară. Toate aceleași comenzi ca pentru imagine completă, cu excepția unui parametru:

Și e tot. În funcție de ceea ce ați specificat în build.conf, veți primi imagini gata făcute pentru pornire prin PXE, de pe CD-ROM, hard disk sau flash drive. Cu configurația descrisă, puteți obține o dimensiune a imaginii de ~90 MB și un timp de pornire prin PXE (de la pornire la desktop) de aproximativ 1 minut. CU disc local si chiar mai repede.

Alte optiuni

Trebuie remarcat faptul că tot ce am scris mai sus este sfaturi pentru asamblarea unei imagini universale. Am făcut posibilă pornirea oricărui PC de la grădina zoologică a companiei dintr-o singură imagine. Dar se poate dovedi că trebuie să faceți mai multe opțiuni de client, cu setări diferite sau, de exemplu, adrese diferite de server. În acest caz, vă rugăm să rețineți că ThinStation poate descărca fișiere de configurare suplimentare în timpul pornirii și descărcării module suplimentare. Acest lucru este foarte bine descris în documentație și nu mă voi opri asupra lui.

Note utile

Curatenie bucatarie

Din când în când, mai ales dacă experimentați în mod activ cu versiuni de pachete, construiți, reconstruiți, recompilați binare etc., mai devreme sau mai târziu va trebui să începeți să curățați gunoiul acumulat din directorul de lucru.

  1. Nu uitați să părăsiți chroot
  2. Asigurați-vă că salvați toate modificările în Git
  3. Demontați toate fișierele de sistem din bucătărie: umount -R thinstation/*
  4. Rulați scriptul de curățare: sudo ./setup-chroot -a
  5. Eliminați tot ce rămâne: git clean -dx is va șterge toate fișierele nesalvate

Adăugarea propriilor pachete

Dacă aveți de gând să aduceți ceva propriu în proiect, trebuie să știți că în terminologia ThinStation, sau mai degrabă în terminologia CRUX Linux, pe care se bazează TS, există două concepte de bază:

  • pachet(denumit în continuare „pachet”) este o anumită abstractizare care indică ceea ce trebuie instalat într-o imagine viitoare. Un pachet poate conține o parte dintr-un arbore de sistem de fișiere, fișiere individuale sau chiar un singur fișier de configurare care indică dependențe, de exemplu.
  • port(denumit în continuare „port”) - similar unui pachet *.deb sau *.rpm, cu unul diferenta importanta: arhiva cu fișiere compilate nu conține reguli de instalare, ci este pur și simplu o parte din arborele sistemului de fișiere. Orice reguli (script de compilare, scripturi de post-instalare etc.) sunt situate lângă arhivă și pot fi editate cu ușurință.

Când vrei să adaugi ceva propriu unei imagini, primul lucru la care ar trebui să te gândești este de ce anume ai nevoie? Dacă doriți să adăugați câteva configurații text la imagine, creați-vă propriul pachet, includeți-l în build.conf - și asta va fi mai mult decât suficient. Dacă trebuie să colectați fișiere binare, atunci va trebui să vă faceți propriul port.

Crearea propriului port

Prtdir /ts/ports/yourproject

Stocarea într-un director separat va fi mult mai ușoară și mai sigură. După editarea fișierului, trebuie să vă amintiți să vă reconectați la chroot. Este de remarcat faptul că acest fișier conține deja directoare cu porturi, aranjate în colecții. Colectorul va căuta un port după nume în toate directoarele în ordine, așa că, dacă vă este frică de coliziuni de nume, plasați directorul deasupra celorlalte.

Acum va trebui să creați un singur script bash care va fi responsabil pentru construirea portului: /ts/ports/yourproject/portname/Pkgfile. Puteți vizualiza eșantionul sau îl puteți spiona în orice alt port. Versiunea de bază arată astfel:

Nume = versiunea mdetect-TS = 0 .5.2.3 ediție = 1 sursă =(http://ftp.de.debian.org/debian/pool/main/m/$name /$name -$versiune .tar.bz2 ) build() ( cd $nume -$versiune ./configure --prefix= /usr \ --exec-prefix= / \ --sysconfdir= /etc \ --mandir= /usr/man \ --disable-extras make make DESTDIR = $PKG install )

Să ne dăm seama ce face (de fapt nu o face, ci doar determină etapa de construire):

  1. Descărcă fișierele specificate în sursă (în acest caz - http://ftp.de.debian.org/debian/pool/main/m/mdetect-TS/mdetect-TS-0.5.2.3.tar.bz2), acestea pot fi mai multe
  2. Despachetează toate fișierele descărcate în directorul de lucru
  3. Execută configure + make
  4. Face instalarea din directorul /ts/ports/yourproject/portname/work/src la /ts/ports/yourproject/portname/work/pkg
  5. Conținutul rezultat al directorului pkg este împachetat într-o arhivă. Acesta va fi portul nostru, gata de instalare.

Să ne verificăm ipotezele. Pentru a efectua prima construcție, trebuie să faceți următoarele:

[_chroot]/# cd ts/ports/yourproject/portname/ [_chroot]/ts/ports/yourproject/portname# pkgmk-kw =======> Crearea „/ts/ports/yourproject/portname/portname#0.5.2.3-1.pkg.tar.xz”.

PXE-firmware compatibil este folosit de producători la fabricarea plăcilor de rețea și BIOS plăci de bază cu plăci de rețea integrate. Prin urmare, pentru pornirea fără disc veți avea nevoie de o placă de rețea echipată cu firmware PXE. Dacă aveți o placă de rețea fără firmware, dar doriți să faceți o pornire fără disc, atunci singura cale de ieșire este să utilizați firmware-ul Etherboot. Această opțiune nu este luată în considerare aici.

Cum funcționează PXE

1.Solicitare PXE către serverul DHCP: o placă de rețea cu suport PXE solicită serverului DHCP să primească parametri precum adresa IP a clientului, masca de subrețea, adresa IP a serverului TFTP pe care se află imaginea și, de asemenea, numele imaginii.

2.Răspunsul serverului DHCP– serverul atribuie o adresă IP și apoi o transmite altor parametri pentru utilizare de către client.

– clientul descarcă mai întâi bootloader-ul PXE - pxelinux - de la adresa IP a serverului TFTP specificat de serverul DHCP. 0, cu ajutorul căruia se încarcă nucleul sistemului de operare Linux - vmlinuz și imaginea sistemului de fișiere - initrd, care include tot ce este necesar pentru ca clientul să funcționeze.

– Scripturile de pornire a sistemului Linux primesc fișiere de configurare de la serverul TFTP, care descriu parametrii necesari pentru conectarea clientului la serverul terminal.

5.Inițializarea clientului terminal– în funcție de parametrii fișierului de configurare se lansează clientul RDP sau ICA, care stabilește o conexiune cu serverul terminal.

Configurarea unui server DHCP și TFTP pe Linux

Exemplu de configurare pe Slackware.

În slackware la inetd ascultat cereri TFTP, trebuie să decomentați linia din fișier /etc/inetd.conf:

Tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot -r blksiize

Și reporniți serviciul inetd:

Gazdă:~# killall -1 inetd

Apoi creați un director tftpbootși acordați permisiuni:

Gazdă:~# mkdir /tftpboot gazdă:~# chmod -R 777 /tftpboot

Opțiune nume-domeniu „example.com”; opțiune domain-name-server 192.168.0.1; server-identifier NAME_HOST; autoritar; permite pornirea; permite încărcarea; max-lease-time 172800; ignora actualizările clientului; ddns-domainname „example.com”; ddns-actualizări pe; ddns-update-style interimar; default-lease-time 86400; log-facilitate local7; Subrețea 192.168.0.0 Netmask 255.255.255.0 (opțiunea subnet-mask 255.255.255.0; routere de opțiune 192.168.0.1; one-leas-pe-client pe; interval 192.168.0.20 192.168.0.30;) grup (FileName "Pxelinux.0"; următorul server 192.168.0.1; gazdă 1 ( hardware ethernet 00:0E:8F:32:B6:C5; adresă fixă ​​192.168.0.10; ) gazdă 2 ( hardware ethernet 08:20:07:26:C0:A5; fix -adresa 192.168.0.11; ) )

Despachetați imaginea substației cu pxe V /tftpboot

Instalare în Debian stretch.

Configurați un server DHCP:

Apt-get install isc-dhcp-server

Config /etc/default/isc-dhcp-server

DHCPDv4_CONF=/etc/dhcp/dhcpd.conf DHCPDv4_PID=/var/run/dhcpd.pid INTERFACESv4="eth0"

Config /etc/dhcp/dhcpd.conf ca în exemplul de mai sus.

Configurați serverul TFTP:

Apt-get install tftpd-hpa

Config /etc/default/tftpd-hpa

TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot" TFTP_ADDRESS="192.168.0.2:69" TFTP_OPTIONS="--secure"

unde 192.168.0.2 este IP-ul extern al interfeței serverului

Repornirea serviciului:

/etc/init.d/tftpd-hpa reporniți

Pentru a înregistra jurnalele în /var/log/dhcpd.log trebuie să fie înregistrat în dhcpd.conf:

Log-facilitate local7;

ÎN /etc/rsyslog.conf adăugați la sfârșitul fișierului:

Local7.* /var/log/dhcpd.log

Reporniți serviciile:

/etc/init.d/rsyslog restart /etc/init.d/isc-dhcp-server restart

Configurarea unui server Windows 2003

Servicii necesare pentru funcționarea clienților subțiri

Puteți utiliza ca server terminal:

Microsoft® Windows® Terminal Server

Citrix® MetaFrame®

Dacă utilizați Windows® Terminal Server ca server terminal, selectați următoarele servicii:

Terminal Server

Dacă utilizați Citrix® MetaFrame® ca server terminal, selectați următoarele servicii:

Citrix® MetaFrame®

Pachetul de boot PXE

Configurarea serverului DHCP

Pentru a configura serverul DHCP, urmați acești pași:

2. Faceți clic pe butonul Adăugați sau eliminați un rol.

3. În caseta de dialog Pași preliminari care se deschide, faceți clic pe Următorul.

4. În caseta de dialog Opțiuni de configurare care se deschide, selectați elementul Configurare personalizată și faceți clic pe Următorul.

5. În lista Rol server, selectați Server DHCP și faceți clic pe Următorul de două ori.

6. În caseta de dialog Bine ați venit la noul expert Scope, faceți clic pe Următorul.

7. În caseta de dialog Nume domeniul de aplicare, în câmpurile Nume și Descriere, introduceți un nume și o descriere, apoi faceți clic pe Următorul.

8. În caseta de dialog Interval de adrese IP, parcurgeți următorii pași pentru ca serverul DHCP să emită adrese IP clienților subțiri:

Introduceți adresa IP de pornire

Introduceți adresa IP finală

Faceți clic pe Următorul.

9. În caseta de dialog Adăugare excluderi care se deschide, puteți specifica un interval de adrese care nu vor fi alocate de serverul DHCP. Faceți clic pe Următorul.

10. În caseta de dialog Durată de închiriere care se deschide, puteți specifica timpul în care adresa IP va fi utilizată de către clienții subțiri. Faceți clic pe Următorul.

11. În caseta de dialog Configurare opțiuni DHCP, selectați Nu, voi configura aceste opțiuni mai târziu. Faceți clic pe butonul Următorul, apoi pe butonul Terminare.

12. Confirmați acțiunea apăsând din nou butonul Finish.

13. Selectați Start→Programs→Administrative Tools→Manage Your Server.

14. În meniul de dialog care se deschide, selectați elementul Manage this DHCP server

15. În caseta de dialog, selectați Opțiuni server. Faceți clic dreapta și selectați Configurare opțiuni din meniul contextual care se deschide.

16. În listă, faceți următoarele:

Selectați elementul 066 Nume gazdă server de pornire și specificați adresa IP a serverului TFTP pe care ați instalat serverul DHCP

Selectați elementul 067 Bootfile Name și introduceți numele bootloader-ului pxe, și anume pxelinux.0

17. Faceți clic pe butonul Aplicare.

18. În caseta de dialog, selectați elementul Scop. Faceți clic dreapta și selectați Activare în meniul contextual care se deschide.

Configurarea serverului DHCP este completă.

Configurarea serverului TFTP

1. Selectați Start→Settings→Control Panel→Add or Remove Programs.

2. Faceți clic pe butonul Adăugare/Eliminare componente Windows.

3. În lista Componente, selectați Servicii de instalare la distanță și faceți clic pe Următorul.

4. Faceți clic pe butonul Terminare și când vi se solicită să reporniți, selectați Nu. Reporniți serverul mai târziu.

Configurarea Terminal Server

1. Selectați Start→Programs→Administrative Tools→Manage Your Server.

2. Faceți clic pe butonul Adăugați sau eliminați un rol.

3. În caseta de dialog Pași preliminari, faceți clic pe Următorul.

4. În lista Rol server, selectați Terminal Server și faceți clic pe Următorul de două ori.

5. Fereastra de dialog Configure Your Server Wizard care se deschide va afișa un avertisment despre repornirea serverului. Faceți clic pe Ok.

6. După repornire, faceți clic pe Terminare.

Configurarea serverului TFTP pentru a porni automat

2. Extindeți lista Servicii și aplicații și selectați elementul Servicii.

3. În partea dreaptă a listei care apare, faceți clic dreapta pe elementul Trivial FTP Daemon și selectați Proprietăți în meniul contextual.

4. În fila General, în meniul drop-down Tip de pornire, selectați Automat. Faceți clic pe butonul Aplicați, apoi pe butonul OK.

Crearea utilizatorilor sesiunii terminale

1. Faceți clic dreapta pe comanda rapidă My Computer și selectați Manage.

2. Din lista derulantă Local Users and Groups, selectați folderul Users.

3. În lista de utilizatori care apare în partea dreaptă, faceți clic dreapta și selectați Utilizator nou în meniul contextual care se deschide.

4. În caseta de dialog Utilizator nou, introduceți un nume de utilizator și o parolă. Este posibil să deselectați Utilizatorul trebuie să schimbe parola la următoarea conectare și să setați elementele de care aveți nevoie: Utilizatorul nu poate schimba parola, Parola nu expiră niciodată, Contul este dezactivat. Faceți clic pe butonul Aplicați, apoi pe butonul OK.

5. În listă, selectați folderul Grupuri, iar în lista din dreapta, faceți clic dreapta pe numele grupului Utilizatori desktop la distanță, apoi selectați Proprietăți.

6. În meniul care apare, selectați General, faceți clic pe butonul Adăugare și introduceți numele utilizatorului căruia doriți să îi permiteți accesul terminalului la server. Apoi faceți clic pe butonul Verificare nume și confirmați alegerea făcând clic pe butonul OK.

7. Faceţi clic pe butonul Aplicare şi pe butonul OK.

Copierea fișierelor necesare pentru a porni clienții subțiri

1. Creați un folder C:\tftpdroot.

2. Copiați fișierele pxelinux.0, vmlinuz, initrd, thinstation.conf.network în el.

3. Creați un folder cu:\tftpdroot\pxelinux.cfg.

4. Copiați fișierul implicit în folderul c:\tftpdroot\pxelinux.cfg

5. Acum trebuie să editați fișierele de configurare. O descriere detaliată a acțiunilor este prezentată în Partea 3. „Modificarea parametrilor fișierelor de configurare”.

Configurarea unui server pentru a transmite audio către clienții subțiri Atenţie! Pentru a transmite sunetul către clienți subțiri, serverul trebuie să aibă instalat Microsoft® Windows® 2003, o placă de sunet și driverele necesare.

1. Selectați Start→Settings→Control Panel

2. Deschideți Sounds and Audio Devices și selectați Enable Windows Audio. Faceți clic pe Ok.

3. Când vi se solicită să reporniți, faceți clic pe Da.

4. După repornire, apelați Microsoft® Management Console (Start→Run→mmc).

5. Apoi faceți următoarele: Fișier→Adăugați/Eliminați Snap-in și faceți clic pe butonul Adăugare.

6. Selectați Group Policy Object Editor și faceți clic pe butonul Adăugare, apoi faceți clic pe butoanele Finish, Close, Ok.

7. Deschideți elementul Local Computer Policy→Computer Configuration→Administrative Templates→Windows Components→Terminal Services→Client/Server data redirection.

8. În lista din dreapta, utilizați butonul din dreapta pentru a selecta Proprietăți în elementul Permite redirecționare audio.

9. Selectați elementul Activat și faceți clic pe butonul Aplicare, apoi pe butonul OK.

Modificarea setărilor fișierului de configurare

Fișiere de configurare

Când pornește clientul subțire, serverul TFTP este căutat pentru fișierele de configurare în următoarea ordine:

1. thinstation.conf.buildtime- Setează parametrii în imaginea de boot

2. thinstation.conf.network– fișier de configurare globală. Acest fișier poate fi folosit dacă aveți nevoie aceleași setări pentru toți clienții slabi. Dacă aveți nevoie din diverse motive (diferite caracteristicile de frecvență monitorizează scanările, clienții trebuie să stabilească sesiuni numai cu anumite servere terminale, asigurând transmiterea sunetului doar către anumiți clienți) diferite setări ale clienților „subțiri”, apoi să folosească fișierele de configurare descrise mai jos.

3. thinstation.hosts– fișier de configurare care conține informații despre clienți (numele computerului, adresa MAC, grupul). Pentru a grupa clienții în grupuri, acesta este utilizat împreună cu fișierul thinstation.conf.group-GROUP_NAME. Pentru configurarea individuală a clienților după numele computerului, acesta este utilizat împreună cu thinstation.conf-COMPUTER_NAME.

4. thinstation.conf.group-GROUP_NAME– fișier de configurare a grupului. Folosit împreună cu thinstation.hosts (de exemplu, thinstation.conf.group-managers).

5. thinstation.conf-COMPUTER_NAME– fișier de configurare pentru configurarea individuală a clientului după numele computerului. Folosit împreună cu thinstation.hosts (de exemplu, thinstation.conf-ivanov).

6. thinstation.conf-IP_ADDRESS- fișier de configurare pentru configurarea clientului individual după adresa IP (de exemplu, thinstation.conf-192.168.0.1).

7. thinstation.conf-MAC_ADDRESS- fișier de configurare pentru configurarea clientului individual după adresa MAC (de exemplu, thinstation.conf-000C6ED598AC).

8. thinstation.conf.user- fișierul de configurare local situat pe media locală ( HDD, dischetă, unitate flash) în directorul thinstation.profile

Secvența de utilizare a variabilelor din fișierele de configurare:

thinstation.conf.buildtime se aplică mai întâi când bootstrap imagine, apoi este primit fișierul thinstation.conf.network și apoi fișierele de configurare individuale.

Dacă valoarea variabilei SESSION_0_TYPE=rdesktop din fișierul thinstation.conf.network și thinstation.conf-COMPUTER_NAME conține deja SESSION_0_TYPE=freerdp, atunci freerdp va fi încărcat ca rezultat.

Dar dacă nivelul de încărcare a programului este rc.0, atunci programul este inițializat înainte ca fișierele de configurare să fie preluate. În acest caz, parametrii pentru acest program pot fi setabili numai la construirea imaginii sistemului în fișierul thinstation.conf.buildtime.

Gruparea clienților în grupuri

Folosind fișierele thinstation.hosts și thinstation.conf.group-GROUP_NAME, puteți grupa clienții în grupuri cu aceleași configurații. Pentru a face acest lucru, trebuie să introduceți informații în fișierul thinstation.hosts, cum ar fi COMPUTER_NAME, MAC_ADDRESS, GROUP_NAME. Editați fișierul thinstation.conf.group-GROUP_NAME. O descriere detaliată a sintaxei fișierelor de configurare poate fi găsită la sfârșitul acestei secțiuni.

Personalizarea thin clients Pentru a personaliza thin clients, utilizați următoarele grupuri de fișiere:

1. Folosind thinstation.hosts și thinstation.conf-COMPUTER_NAME, puteți configura un client cu un anumit nume de computer. Pentru a face acest lucru, trebuie să introduceți informații precum COMPUTER_NAME și MAC_ADDRESS în fișierul thinstation.hosts. În plus, trebuie să editați fișierul thinstation.conf.group-COMPUTER_NAME.

2. Folosind thinstation.conf-IP_ADDRESS puteți transfera setările către un client cu o anumită adresă IP. Deoarece adresa IP este emisă de serverul DHCP, este necesar să configurați serverul astfel încât fiecărui client să i se elibereze o adresă IP unică.

3. Folosind thinstation.conf-MAC_ADDRESS puteți transfera setările către client cu o anumită adresă MAC. Pentru a face acest lucru, trebuie doar să editați fișierul thinstation.conf-MAC_ADDRESS.

Sintaxa fișierelor de configurare

Sintaxa fișierului de configurare thinstation.hosts:

# COMPUTER_NAME MAC_ADDRESS GROUP_NAME COMMENTS thinstation1 000103014152 samba # IVANOV thinstation2 000103014152 # PETROV

Sintaxa fișierelor de configurare thinstation.conf.network, thinstation.conf.group-GROUP_NAME, thinstation.conf-COMPUTER_NAME, thinstation.conf-IP_ADDRESS, thinstation-MAC_ADDRESS:

# --- Exemplu Fișier de configurare # --- Opțiuni sesiuni # # # SESSION_TITLE Descrierea sesiunii # SESSION_TYPE Tip sesiune: # - rdesktop Client Terminal pentru Microsoft® Terminal # Servicii # - ica Client Terminal pentru Citrix® MetaFrame® # # SESSION_SCREEN Ecran sesiune pe care este lansat serverul X # SESSION_AUTOSTART Pornit/Oprit Intrare automată autentificare și parolă # SESSION_WORKSPACE Spațiu de lucru pentru lansarea programelor # SESSION_PACKAGE_SERVER Adresa IP a serverului terminal # SESSION_PACKAGE_OPTIONS opțiunile clientului terminal # # # --- Opțiuni client Citrix # #ICA_USE_SERVER_KEYBOARD Utilizați aspectul tastaturii serverului, # În caz contrar, utilizați protocolul KEYBOARD_BROWMASER_TOICA_COLOWMAP_PRO, HTTPon TCP sau UDP #ICA_ENCRYPTION Niveluri de criptare #ICA_COMPRESS Compresie, Activat/Oprit #ICA_AUDIO Audio, Activat/Oprit #ICA_AUDIO_QUALITY Calitate audio: Scăzută, Medie, Înaltă #ICA_APPLICATION_SET Aplicație publicată (Nu este utilizată dacă există ICA_SERVER) #ICA_SERVER Server Citrix (nu folosit dacă există # ICA_APPLICATION_SET) # Setări implicite pentru toate sesiunile SCREEN=0 WORKSPACE=1 AUTOSTART=Dezactivat ICA_USE_SERVER_KEYBOARD=Activat ICA_BROWSER_PROTOCOL=HTTPonTCP ICA_SERVER=192.168.88.100 ICA_ENCUDIICA_PIX=COMPRESSA_ENCUDIICA_n= ICA_ENUDIICA_N Mediu ICA_AUDIO=Activat # setări individuale, # Atenție! Asigurați-vă că începeți cu SESIUNEA 0. În caz contrar, # veți primi o eroare la încărcarea SESSION_0_TITLE="Citrix MetaFrame Terminal Server" SESSION_0_TYPE=ica SESSION_0_SCREEN=1 SESSION_0_ICA_SERVER=192.168.88.100 # Опция -a указывает глубину цвета # Будьте уверены, что ваш сервер поддерживает такую глубину цвета, так как # в противном случае это приведет к ошибке SESSION_1_TITLE="Microsoft Terminal Server" SESSION_1_TYPE=rdesktop SESSION_1_SCREEN=0 SESSION_1_RDESKTOP_SERVER=192.168.88.100 SESSION_1_RDESKTOP_OPTIONS="-u user -a 16 -r sound" # SESSION_0_AUTOSTART=Off # !} --- Principal setări # # KEYBOARD_MAP Dispunerea tastaturii # AUTOPLAYCD redare automată a CD-ului # RECONNECT_PROMPT Reconectare la server: Pornit/Oprit KEYBOARD_MAP=ru # AUTOPLAYCD=Activat RECONNECT_PROMPT=Activat # --- Setări de rețea # # NET_HOSTNAME Nume computer, dacă nu este folosit # thinstation. , # simbolul * va fi înlocuit cu adresa MAC NET_HOSTNAME=ts_* # --- Setări XServer # # SCREEN_RESOLUTION Rezoluția ecranului 1024x768,800x600,640x480 # SCREEN_COLOR_DEPTH Număr de biți pe pixel (8,16,24) # SCREEN_HORIZSYNC Frecvență orizontală în Khz. # SCREEN_VERTREFRESH Frecvență verticală în Hz. SCREEN_RESOLUTION="800x600" SCREEN_COLOR_DEPTH="16 | 8 | 24" SCREEN_HORIZSYNC="30-64" SCREEN_VERTREFRESH="56-87"

Un exemplu de setări principale ale thinstation.conf.user:

NET_USE_DHCP=off # Dacă nu utilizați DHCP, asigurați-vă că specificați OFF NET_USE_TFTP=off # Pentru a încărca fișierele de configurare de pe disc, setați OFF NET_IP_ADDRESS=XXX.XXX.XXX.XXX # Client IP NET_MASK=255.255.255.0 # Subnet mask #NET_GATEWAY=XXX. XXX.XXX.XXX # Dacă trebuie să specificați un gateway #NET_DNS1=XXX.XXX.XXX.XXX # adresa IP a serverului DNS #NET_DNS2=XXX.XXX.XXX.XXX ECRAN=0 SPAȚIU DE LUCRU= 1 AUTOSTART=Oprit # Pentru mai multe sesiuni, selectați dezactivat . SESSION_0_TITLE="server terminal 1" # Название сервера или имя клиента, отображаеться в режиме AUTOSTART=Off SESSION_0_TYPE=rdesktop # Тип сессии SESSION_0_SCREEN=1 # Экран сессии SESSION_0_RDESKTOP_SERVER=XXX.XXX.XXX.XXX # IP терминального сервера SESSION_0_RDESKTOP_OPTIONS="-u "user"" # Имя пользователя #SESSION_1_TITLE="server terminal 2" #SESSION_1_TYPE=rdesktop #SESSION_1_SCREEN=1 #SESSION_1_RDESKTOP_SERVER=XXX.XXX.XXX.XXX #SESSION_1_RDESKTOP_OPTIONS="-u "user2"" # Подключение устройств в RDP сессии. RDESKTOP_SOUND=Off RDESKTOP_FDD=On RDESKTOP_CDROM=Off RDESKTOP_HDD=Off RDESKTOP_USB=On RDESKTOP_1394=Off RDESKTOP_COM3=Off RDESKTOP_COM4=Off RDESKTOP_SLOWLINK=On # Оптимизация под модемное соединение RDESKTOP_COMPRESSION=On # Использование компрессии для RDP данных RDESKTOP_COLOR_DEPTH="16" # Глубина цвета KEYBOARD_MAP=en_us # Раскладка клавиатуры TIME_ZONE="Europe/Moscow" USB_ENABLED=On # Включение драйверов USB AUDIO_LEVEL=67 AUTOPLAYCD=On # Автоматическое проигрывание музыкальных CD DAILY_REBOOT=On # Если в течении дня нет соединения с сервером, то происходит перезагрузка CUSTOM_CONFIG=off RECONNECT_PROMPT=menu # Действие при отключении сессии, варианты: ON (переподключиться), OFF (не переподключаться), MENU (показывать меню), MENUXX (где XX - время паузы в мин. перед отключением). Работает в режиме AUTOSTART=On NET_HOSTNAME=host # Имя компьютера клиента NET_TELNETD_ENABLED=On # Доступ к клиенту по сетевому протоколу telnet SCREEN_RESOLUTION="1024x768" # Разрешение экрана SCREEN_HORIZSYNC="30-65" # Для CRT лучше поставить 30-75 SCREEN_VERTREFRESH="75" # Для !} Monitoare LCD, pentru setul CRT 85 SCREEN_COLOR_DEPTH="16" # X adâncime de culoare MOUSE_PROTOCOL=IMPS/2 # Protocolul mouse-ului MOUSE_RESOLUTION=100 # Rezoluția mouse-ului MOUSE_ACCELERATION="1" # Accelerația mouse-ului, de exemplu o valoare de 1/8 va încetini mișcarea X_DRIVER_OPTION1="swcursor Pornit" # Cursor hardware POWERBTN_ACTION=Oprit # Opriți cu butonul de pornire, dacă nu specificați această variabilă, treceți în modul de așteptare PRINTER_0_NAME=paralel # Nume imprimantă PRINTER_0_DEVICE=/dev/printers/0 # Dispozitiv de imprimantă PRINTER_0_TYPE=P # Pentru imprimanta conectată la portul paralel PRINTER_1_NAME=usb # Numele imprimantei PRINTER_1_DEVICE=/dev/usb/lp0 # Dispozitiv de imprimantă PRINTER_1_TYPE=U # Pentru imprimantă USB