ii Cuprins Listă de figuri… [631097]

UNIVERSITATEA BABEȘ-BOLYAI Facultatea de Științe Economice și Gestiunea Afacerilor Informatică Economică Lucrare de licență Absolvent: [anonimizat]-Vlad Vamoș Coordonator științific, Lector universitar doctor Sergiu Jecan 2019

UNIVERSITATEA BABEȘ-BOLYAI Facultatea de Științe Economice și Gestiunea Afacerilor Informatică Economică Lucrare de licență Dezvoltarea unei interfețe grafice pentru Ubuntu 16.04 Absolvent: [anonimizat]-Vlad Vamoș Coordonator științific, Lector universitar doctor Sergiu Jecan 2019

ii Cuprins Listă de figuri ……………………………………………………………………………………………………………. iv Partea I – Raport de Analiză …………………………………………………………………………………………. 1 Introducere…………………………………………………………………………………………………………………. 2 1. Identificarea și Descrierea Problemei …………………………………………………………………………. 2 1.1. Motivație …………………………………………………………………………………………………………. 2 1.2 Context …………………………………………………………………………………………………………….. 3 Fațeta subiect ……………………………………………………………………………………………………… 3 Fațeta utilizare …………………………………………………………………………………………………….. 3 Fațeta IT ……………………………………………………………………………………………………………… 3 Fațeta dezvoltare …………………………………………………………………………………………………. 4 2. Cerințe de sistem …………………………………………………………………………………………………….. 7 2.1 Surse de cerințe …………………………………………………………………………………………………. 7 2.2 Elicitația cerințelor …………………………………………………………………………………………….. 7 2.2.1 Metoda Chestionarului ……………………………………………………………………………………. 8 2.2.3 Modelul use-case …………………………………………………………………………………………….. 8 2.3 Documentarea cerințelor ……………………………………………………………………………………10 Cerințele funcționale ………………………………………………………………………………………………11 Cerințele calitative ………………………………………………………………………………………………….11 2.3.1 Procese și Activități ………………………………………………………………………………………..12 3. Model de Dezvoltare ………………………………………………………………………………………………14 Partea II – Proiectarea Sistemului Informatic ………………………………………………………………..16 4. Proiectarea Logică ………………………………………………………………………………………………….17 4.1 Arhitectura Sistemului ………………………………………………………………………………………18 4.2 Baza Informațională ………………………………………………………………………………………….19 5. Proiectarea Tehnică ………………………………………………………………………………………………..19 5.1 Structura fizică a datelor …………………………………………………………………………………….19 5.2 Implementare …………………………………………………………………………………………………21 Instalare Ubuntu mini 16.04 …………………………………………………………………………………21 Creare utilizator ………………………………………………………………………………………………….22 LightDM …………………………………………………………………………………………………………….22 Openbox ……………………………………………………………………………………………………………24 Nautilus……………………………………………………………………………………………………………..25 Editor fișiere (gedit) …………………………………………………………………………………………….27

iii Obmenu …………………………………………………………………………………………………………….27 Tint2 ………………………………………………………………………………………………………………….29 Dock (Cairo-Dock) ……………………………………………………………………………………………….30 Pavucontrol ……………………………………………………………………………………………………….32 Volti ………………………………………………………………………………………………………………….32 Adăugare rezoluție ……………………………………………………………………………………………..32 Lansator aplicații ………………………………………………………………………………………………..33 Browser web ………………………………………………………………………………………………………34 Magazin aplicații …………………………………………………………………………………………………34 Graphical sudo ……………………………………………………………………………………………………34 Samba ……………………………………………………………………………………………………………….35 Systemback ………………………………………………………………………………………………………..36 5.3 Tehnologii specifice ………………………………………………………………………………………….38 Concluzii …………………………………………………………………………………………………………………..40 Dezvoltări ulterioare …………………………………………………………………………………………………..42 Bibliografie ……………………………………………………………………………………………………………….43 Glosar ………………………………………………………………………………………………………………………45 Anexe ……………………………………………………………………………………………………………………….54

iv Listă de figuri Figura 1 Diagramă Fishbone …………………………………………………………………………….. 5 Figura 2 Diagrama Pareto ………………………………………………………………………………… 6 Figura 3 Diagrama Obiectivelor ………………………………………………………………………… 7 Figura 4 Diagrama use – case utilizator/vizitator …………………………………………………. 9 Figura 5 Diagrama use – case administrator ……………………………………………………… 10 Figura 6 Diagrama de activități ……………………………………………………………………….. 13 Figura 7 Modelul de dezvoltare incremental ……………………………………………………… 14 Figura 8 Reprezentarea grafică a fazelor …………………………………………………………… 15 Figura 9 Diagrama DFD …………………………………………………………………………………. 17 Figura 10 LightDM ……………………………………………………………………………………….. 23 Figura 11 Selectare Openbox ………………………………………………………………………….. 24 Figura 12 Nautilus 1 ………………………………………………………………………………………. 25 Figura 13 Nautilus 2 ………………………………………………………………………………………. 27 Figura 14 Obmenu …………………………………………………………………………………………. 28 Figura 15 Tint 2 …………………………………………………………………………………………….. 30 Figura 16 Cairo Dock …………………………………………………………………………………….. 31 Figura 17 Lansare Software Center cu gksu ……………………………………………………… 35 Figura 18 Comparare System Monitor ……………………………………………………………… 40

1 Partea I – Raport de Analiză

2 Introducere 1. Identificarea și Descrierea Problemei Persoanele care urmează să beneficieze de produsul finit al lucrării de licență vor fi acele persoane fizice sau juridice care dispun de calculatoare slab echipate dar au nevoie de un sistem de operare modern și cu actualizările la zi , astfel produsul oferit va avea o interfață destinată utilizatorului ”ușoară” care nu va consuma multe resurse , ea fiind capabila să ruleze pe un număr mare de unități. Interfața este familiară dar în același timp reîmprospătată în viziunea proprie și cu scopul de a putea funcționa într-un mod cat mai stabil și fără a întâmpina ,prea des , erori care să provoace o repornire a sistemului . 1.1. Motivație Ceea ce stă la baza soluției propuse este utilizarea uneltelor care se ocupă cu mici părți din UI (User Interface / Interfață Utilizator) și aducerea lor împreună pentru a forma un UI cat mai capabil care , în același timp nu consumă multe resurse. Acest lucru este necesar pentru a putea rula pe cât mai multe unități și pentru a oferi o experiență cat mai apropiată de ceea ce oferă sistemele de operare concurente , dar eliminând costurile de licență(în cazul Windows) sau de achiziție a hardware (în cazul MacOS care nu poate rula pe alte configurații decât cele care vin direct de la Apple) . Cu ajutorul acestui proiect este posibil ca până și cele mai învechite calculatoare sa poata utiliza software mai recent și cu patch-urile de securitate la zi. În țările mai slab dezvoltate , oamenii care au un calculator îl au cel mai probabil achiziționat second-hand dintr-un mediu enterprise/business în care aceastea deja au fost utilizate timp de minim 5 ani , astfel în momentul în care ajung la populația săracă acestea sunt cu mult în urmă față de până și cele mai slab echipate sisteme preconfigurate care există pe piață , la un preț mai mare . Deci viitorii posesori de calculatoare nu vor avea o experiență plăcută legată de calculatoare și internet , deoarece sistemele de operare moderne vor utiliza o mare parte din resursele disponibile(RAM , CPU , GPU , ROM) doar pentru a rula și pentru a avea pregătite funcționalități pe care utilizatorul respectiv nu le va folosi.

3 1.2 Context Fațeta subiect Interfata grafica creată are ca scop principal utilizarea redusă a resurselor disponibile pentru a putea rula pe sisteme cât mai învechite. Prin aceasta se propune a aduce sisteme de operare relativ moderne la masele din țările sărace care din cauza veniturilor mici nu își pot permite calculatoare care sa poată rula Windows 10 fără să întâmpine dificultăți în rulare. Fațeta utilizare Utilizatorii vizați sunt cei aflați în țările în dezvoltare sau sărace care nu își pot permite un PC performant astfel ei sunt forțați să folosească sisteme de operare învechite(Ex.: Windows XP, Windows Vista, Windows 7, Ubuntu 14.04) , dar și cei care doresc să îl folosească ca și un sistem de operare on-the-go și fără funcționalitățile de telemetrie obligatorii care vin odată cu utilizarea Windows 10. Fațeta IT Este nevoie de un PC cu speificații relativ slabe , deoarece interfata grafica nu are nevoie de multe resusrse pentru a funcționa corect astfel avand cerințe de sistem minime, estimative : Intel Pentium E2180 1 GB RAM 20 GB de memorie pe HDD Placa video integrata / Nvidia Geforce GT 430 Nu este nevoie de nicio configurare avansată in BIOS/UEFI , va fi necesar si un stick de memorie / DVD pentru a crea un Bootable Drive.

4 Fațeta dezvoltare Pentru crearea acestei interfețe rudimentare și care folosește puține resurse s-au folosit o varietate de unelte deja existente , dezvoltate de către comunitatea Linux . Aceste unelte software se ocupă de diferte părți ale GUI-ului dar și de managerul de fișiere , vizualizarea fișierelor .jpg , .mp3 , de tip text word powerpoint și excel. În acelașri timp se regăsesc și utilități cum ar fi serverul de fișiere samba sau monitorul de resurse al sistemului care afișează procentajul de activitate al procesorului , memoria RAM utilizată și viteza legăturii la internet înregistrată de adaptorul de rețea. Pentru a crea un D.E. (Desktop Environment) , un browser de fișiere , până și simpla vizualizare a unei sau editarea unui document text presupune utuilizarea unui vizualizator/editor care ,din nou , a fost selectat dintr-o gamă largă de de opțiuni disponibile în așa fel încât să nu ocupe mult RAM și Daemon-ii acestuia să nu aibă un impact sesizabil asupra performanței sistemului.

5
Figura 1 Diagramă Fishbone

6 Cauza care a stat la baza creării acestei variante de Linux cu un GUI personalizat a fost faptul că există incă o multitudine de oameni în lume care nu își pot permite să își cumpere componente noi și performante pentru PC . Astfel ei nu se pot bucura de ceea ce le poate oferi un O.S. modern fiind limitați la Windows XP un sistem care nu mai primește actualizări de la Microsoft din 8 Aprilie 2014. Diagrama Pareto este folosită este folosită pentru evidențierea celor mai relevante cauze și pentru a stabili o anumită ordine a obiectivelor în funcție de importanța acordată acestora
0%20%40%60%80%100%120%
0510152025303540
Utilizarea componentelor de PC învechite în țările săraceLipsa unui O.S. fără funcționalități nefolosite de utilizatorPotențialul de a-l putea personalizaUtilizarea eficientă aresurselor pentru aputea navigainternetulLipsa unui O.S. care să nu returneze acțiunile utilizatorului înapoi către dezvoltatorFigura 2 Diagrama Pareto

7
2. Cerințe de sistem 2.1 Surse de cerințe Sursa de cerințe provine din faptul că încă există țări în care omul de rând nu își poate permite un calculator care să poată rula un sistem de operare modern (Ex.: Windows 10) , și nu se bucură de tot ceea ce are de oferit internetul și calculatorul. În plus este și o provocare personală de a realiza un D.E. capabil de a realiza task-uri în viața de zi cu zi. 2.2 Elicitația cerințelor Părțile implicate în dezvoltarea acestei variante de GUI sunt dezvoltatorul și posibilii utilizatori ai acestuia care necesită un sistem de operare cu cerințe de sistem minime. Acesta va pune la dizpoziția utilizatorilor un file explorer , un system tray în partea superioară a afișajului , un dock în partea inferioară , un music player , viaualizator de poze si videouri , LibreOffice și alte funcționalități de bază care sunt de așteptat de la un sistem de operare.
Figura 3 Diagrama Obiectivelor

8 Dezavantajul acestuia este că deja există pe piață alte distribuții de Linux care folosesc puține resurse și care au abordat metode diferite de design. Metodele de elicitație folosite sunt metoda chestionarului si metoda use-case. 2.2.1 Metoda Chestionarului S-a întocmit un chestionar care a putut fi completat de către public iar in acesta s-au luat în vedere următoarele aspecte : 1. Ce dorești de la un sistem de operare ? 2. Câte funcționalități ale sistemului tău curent de operare le folosești? 3. Ai fi dispus să schimbi sistemul de operare curent dacă are dificultăți în rulare cu unul care folosește mai puține resurse dar nu îți oferă toate funcționalitățile curente ? 4. Cât de des folosești calculatorul ? 5. Când folosești calculatorul pentru ce îl folosești în principal? (Ex: Web=browsing , programare , editare documente) 2.2.3 Modelul use-case În cadrul acestei metode se identifică potențialii utilizatorui ai GUI-ului și operațiile de bază pe care aceștia și le-ar putea dori de la sistem. Rolul acestei metode este de a se asigura că cerințele sunt bine înțelese și nu a fost omisă niciuna. Utilizatorii vor avea posibilitatea de a își vizualiza pozele stocate , videourile , de a asculta muzică stocată local sau chiar de pe Soundcloud (direct din playerul de muzică din OS) de a edita documente , să navigheze pe internet prin intermediul browserului instalat și chiar să adauge funcționalități noi în cazul utilizatorilor avansați .

9

Figura 4 Diagrama use – case utilizator/vizitator

10
Figura 5 Diagrama use – case administrator 2.3 Documentarea cerințelor Cerințele de sistem se obțin prin aplicarea metodelor de elicitație prezentate anterior. Acestea se împart în două categorii: cerințe funcționale și cerințe de sistem. Cerințele funcționale cuprind cerințele care trebuie sa fie îndeplinite de sistem, ca reacție la cerințele utilizatorilor. Cerințele calitative descriu felul în care funcționalitățile vor fi realizate de către sistem.

11 Cerință Prioritate Influențează Soluție Timp de pornire scurt 4 Clienți Pornirea automată a puține programe la pornirea OS-ului Stabilitate A OS-ului 4 Clienți Utilizarea de unelte creatoare de GUI compatibile una cu alta Schimbare setări 2 Clienți Se va face accesibil meniul de setări din dock Instalare de aplicații noi 3 Clienți Instalarea in prealabil de către dezvoltator a magazinului de aplicații Ubuntu Cerințele funcționale Cerință Prioritate Influențează Soluție Pentru utilizatori Utilizabilitate 4 Clienți Crearea unei interfețe intuitive și eventual atașarea unui manual de instrucțiuni sau un tutorial video Disponibilitate 3 Clienți Sistemul de operare va fi disponibil tuturor celor care doresc sa il utilizeze , gratuit Pentru dezvoltatori Portabilitate 3 Clienți, administrator O.S.-ul poate rula pe orice laptop/PC mai nou de 2009 Cerințele calitative

12 2.3.1 Procese și Activități În momentul de față beneficiarii acestei interfețe grafice pentru Linux dispun de calculatoare învechite și depășite de tehnologia curentă , chiar și de către cea low-end. Astfel ei ar avea nevoie de o alternative care poate realiza sarcinile pe care le poate realiza sistemul de operare folosit în present de către aceștia dar fără să ruleze încet sau chiar sa întâmpine erori fatale care îl oblige să reporneasca (Ex. : Blue Screen) și să piardă munca utilizatorilor. În plus , și utilizatorii avansați pot folosi acest GUI. deoarece , la bază este tot Linux , deci este capabil de a îndeplini și funcționalitățile unui NAS sau de a face hosting pentru o pagină web. Indiferent de tipul de utilizator care va fi întâmpinat , O.S.-ul nu va urmări acțiunile acestuia și nu va raporta nimic înapoi companiei mama sau dezvoltatorului acestuia , contrar multor sisteme de operare disponibile pe piață(Windows 10 , MacOS , Ubuntu).

13
Figura 6 Diagrama de activități

14 3. Model de Dezvoltare Modelul de dezvoltare ales este modelul AUP(Agile Unified Process), care are la bază ideea abordării bazate pe risc , este centrat în jurul arhitecturii , este iterativ și incremental și este structurat de-a lungul a două dimensiuni : temporală și dimensiunea componentelor procesului. Dimensiunea temrporală dispune de : Cerințe : se stabilesc cerințele sistemului și ale utilizatorilor. Analiză : presupune structurarea , modelarea și finisarea cerințelor. Proiectare : transpunerea cerințelor în arhitectura sistemului. Implementare : elaborarea software-ului. Testare : verificarea funcționalității sistemului dezvoltat. Figura 7 Modelul de dezvoltare incremental Dimensiunea componenetelor implică următoarele faze de bază : Conceperea : specificarea unei viziuni asupra proiectului. Elaborarea : se planifică activitățile și resursele necesare. Construcția : construirea produsului printr-o serie de iterații incrementale.

15 Tranziția : furnizarea produsului utilizatoruli. Avantajele modelului de implementare sunt : • Răspunde repede la schimbări • Se poate face un proiect fără a știi unele date • Flexibilitatea în lansarea de îmbunătățiri Dezavantajele acestui model de implementare sunt : • Dezvoltarea produsului poate devia de la cursul stabilit dacă , clientul nu este foarte clar în exprimare legat de produsul final dorit. • Deoarece presupune un nivel ridicat de colaborare cu stakeholderii , este posibil să necesite mult timp si comunicare din partea acestora.
Figura 8 Reprezentarea grafică a fazelor

16 Partea II – Proiectarea Sistemului Informatic

17 4. Proiectarea Logică Dată fiind natura proiectului , acesta nu utilizează baze de date pentru funcționarea uzuală , fișierele pe care are nevoie să le acceseze aflându-se în mediul local de date , pe disc. Atsfel fiecare program / aplicație își preia datele din folderul predefinit sau de unde este configurată să le preia. În cazul aplicației de muzică , aceasta este configurată să caute fișierele audio în calea /home/vlad/Music , vlad fiind numele utilizatoruilui în cazul de față dar acesta va varia în funcție de numele persoanei care va folosi sistemul în viitor.

Figura 9 Diagrama DFD

18 4.1 Arhitectura Sistemului Sistemul funcționează pe mai multe nivele , care se suprapun pentru a reaiza proiectul final. Primul nivel , care este și cel de bază , este cel de linie de comandă(Command Line Interface – CLI pe scurt) în cadrul căruia toate operațiile pe care dorește utiliztorul să le facă se pot realiza doar prin introducerea unor comenzi specifice. Așadar este evident faptul că un utilizator care nu cunoaște acele comenzi va întâmpina o serie de diicultăți dacă va dori să utilizeze sistemul de operare , astfel este necesară prezența unei interfețe grafice care să ușureze utilizarea OS-ului. Acest sistem este versiunea CLI a lui Ubuntu 16.04 care la rândul său este o distribuție de Linux. Numele de Linux provine de la kernel-ul care este prezent în toate distribuțiile. Acest kernel este un software care pornește în momentul în care pornim calculatorul și inițializează o intrefață pentru programele pe care le folosește utilizatorul ca acestea să poată comunica eficient și ușor cu componentele hardware ale calculatorului. Acest kernel a fost dezvoltat de către Linus Torvalds în anul 1991 pentru calculatorul său personal fără intenția de a oferi suport pentru mai multe sisteme. [1] Componente administrative provenite din alte surse gratuite și de tip open source funcționează împreună cu kernel-ul pentru a face Linux un sistem de operare complet și de sine stătător. Proiectul GNU a contribuit cu multe implementări standart ale sistemului UNIX care acum fac parte din Linux. [2] Proiectele open source menționate anterior au adus noi caracteristici cum ar fi : GUI – format din managere de ferstre , panouri , iconițe , meniuri. GUI permite utilizatorului să folosească sistemul de operare cu mouse și tastatură. Utilități administrative – incluzând mii de comenzi și ferestre grafice care permit acțiuni de genul : adăugarea de utilizatori noi , administrarea discurilor , monitorizarea rețelei , instalarea de programe , securizarea calculatorului etc. Aplicații – deși nicio distribuție linux nu le include pe toate , există mii de jocuri , aplicații de tip office , browsere web , playere media și multe alte tipuri programe disponibile în orice moment pentru Linux.

19 Unelte de programare , incluzând utilități de programare pentru crearea de aplicații și librării. Caracteristici de server care permit utilizatorului să ofere servicii Linux de pe calculatorul său altor calculatoare de pe rețea . Totodată , la acest nivel se regăsesc componentele software care se ocupă de administrarea resurselor calculatorului ( RAM , CPU , GPU , etc) , aceste componente realizează eliberarea memoriei RAM de date care nu mai sunt utilizate în momentul respectiv și eventuala comprimare a ceea ce există deja și chiar și procesul de cache-ing (acesta presupune scrierea pe memoria nevolatilă a unor informații care sunt accesate constant dar nu sunt necesare să fie păstrate in ram , iar în cazul în care calculatorul este pus pe modul Sleep tot mecanismul de caching realizează o copie pe HDD a datelor prezente in memoria RAM). Nivelul de interacțiune cu utilizatorul este acela în care își face simțită prezența GUI-ul și acesta este compus din mai multe programe care se ocupă de randarea și administrarea diverselor componente din interfață. Fiecare componentă se ocupă de diferite părți din interfață : D.E. , navigator de fișiere , player muzical , rezoluția în care se randează sistemul etc. 4.2 Baza Informațională Datorită faptului că proiectul este realizat în cadrul unei mașini virtuale nu există nevoia de a utiliza o bază de date , informațiile utilizatorului fiind stocate local de către sistemul de operare(fișiere , directoare). 5. Proiectarea Tehnică 5.1 Structura fizică a datelor Datele introduse și create de către utilizatori sunt stocate de sistemul de operare în mediul local după modul de fincționare al sistemului său de fișiere arborescent. Directoarele pot conține atât directoare cât și fișiere. Acestea pot fi văzute ca și frunzele unui arbore iar fiecare element poate fi referențiat printr-o cale.

20 Calea absolută începe cu caracterul ”/” identificând directorul rădăcină care conține toate celelalte directoare și fișiere , fiecare director fiu trebuie traversat pentru a ajunge la elementul dorit , numele acestora este separat de către ”/”. Un exemplu de cale este : ”/usr/bin/terminator” unde usr și bin sunt directoare iar terminator este fișierul dorit a fi accesat. Calea relativă este cea care nu începe cu caracterul ”/” , în acest caz arborele este traversat începând din directorul curent. În fiecare director se află doua directoare speciale numite ”.” ”..” care sunt ascunse utilizatorului și care fac referință la director în sine(”.”) și la directorul părinte(”..”). Permisiunile fișierelor sunt o altă parte foate importantă a sistemului de fișiere acestea sunt de 3 tipuri : citire , scriere și executare. Pentru a verifica permisiunile unui fișier sau director este utilizată comanda ls -l care afișează permisiunile sub forma : rwx rwx rwx primul grup semnifică faptul că proprietarul fișerului are permisiunea de citire(r) , scriere(w) și executare(x) asupra fișierului selectat , al doilea câmp indică același lucru dar pentru proprietarul grupului iar al treilea câmp indică același lucru pentru toți ceilalți utilizatori. [1] Acestea se pot vedea și ca o serie de biți astfel : rwx rwx rwx = 111 111 111 rw- rw- rw- = 110 110 110 rwx – – = 111 000 000 r-x -–x – = 101 001 000 și așa mai departe așa că putem face conversia din sistemul binar(în baza 2) în baza zece : rwx = 111 în baza 2 = 7 î baza 10 rw- = 110 în baza 2 = 6 în baza 10 r-x = 101 în baza 2 = 5 în baza 10 r– = 100 în baza 2 = 4 în baza 10 și putem reprezenta rwx rw- r—prin 764 , aceste argumente se vor folosi la schimbarea permisiunilor fișierelor și directoarelor folosind comanda chmod. Sau pentru a ușura calculele putem echivala permisia de citire (r) cu numărul 4 , permisia de execuție(x) cu numărul 1 și permisia de scriere(w) cu numărul 2 astfel fiecare persmisiune este suma acestor

21 numere în funcție de ce atribute dorim sa îi dăm , o permisiune completă este 7 = 4 + 2 + 1 (read + write + execute). Schimbarea unui fișier sau director se face cu comanda chmod și în funcție de preferințe cu opțiunea ”-c” înaintea modului în care se dorește a face schimbarea și urmat de numele fișierului sau directorului. Opțiunea -c returnează confirmarea schimbării permisiunilor. Un exemplu de comandă ar fi : chmod -c 746 nume_fișier. 5.2 Implementare Instalare Ubuntu mini 16.04 Pentru a construi o structură este nevoie de o fundație , în cazul acesta rolul fundației este jucat de către varianta mini a sistemului de operare Ubuntu. Această variantă mini conține doar fișierele necesare pentru instalarea versiunii de bază , CLI a lui Ubuntu fără alte componente prezente într-o versiune normală, cu o interfață grafică deja implementată. Această variantă de Ubuntu permite un grad ridicat de personalizare , dat fiin faptul că GUI-ul poate fi început de la 0 și compul în modul dorit folosind diversele instrumente care se vor prezenta în cele ce urmează. Odată configurată mașina virtuală și încărcată imaginea , este întâlnit un meniu care poate fi navigat doar cu tastatura , făcându-se deja simțită prezența CLI-ului. S-a selectat opțiunea de install urmând ca mai apoi să selectăm limba dorită , engleza , după care urmează o secțiune de recunoaștere a tastaturii. Următorul pas este denumirea mașinii virtuale pe rețea , cerându-se introducerea unui hostname. După ce Ubuntu își descarcă celelalte componente necasare instalării un prompter apare pentru introducerea numelui de utilizator care va fi folosit în continuare pe tot parcursul proiectului. În urma instalării versiunii 16.04 a sistemului de operare Ubuntu , în versiunea CLI , sunt necesare o multitudine de componente software pentru a dezvolta produsul final , și anume interfața grafică. Aceste componente se împart în 2 categorii : 1. Elemente de control a sistemului 2. Programe necesare(Ex: editor text , player muzical)

22 Creare utilizator Înainte de a începe dezvoltarea proiectului este necesară crearea unui cont de utilizator în cadrul sistemului Linux care dispune în momentul de față doar de CLI. Crearea utilizatorului este asociată cu crearea unui director cu numele utilizatorului (vlad) în cadrul directorului /home din sistemul de fișiere linux. Crearea acestui utilizator se realizează introducând numele de utilizator dorit (vlad) în prompter-ul sistemului urmând ca mai apoi să se introducă o parolă pentru acest cont. Pentru a crea noi utilizatori în momentul actual este necesară rularea următoarelor comenzi : ”sudo useradd nume_utilizator” după care i se va adăuga o parolă cu comanda ”passwd nume_utilizator exemplu_parolă ” care este necesară a fi introdusă de două ori , din motive de securitate și pentru a evita o posibilă eroare umană la momentul scrierii acesteia. LightDM Așadar , prima componentă necesară de care avem nevoie este un Display Manager . Acesta este responsabil de randarea interfeței grafice pentru ecranul de login care întâmpină utilizatorul la momentul pornirii calculatorului. În cadrul acestuia se regăsește o căsuță text în care utilizatorul trebuie să își introducă parola pentru a putea accesa restul sistemului de operare.

23 Display Manager-ul ales poartă numele de LightDM și este unul dintre cele mai utilizate componente de genul său. Acesta a fost creat cu scopul de a oferi funcșionalitatea dorită utilizând cât mai puține resurse , dat fiind faptul că este o componentă software care trebuie să fie activă permanent țn utilizarea sistemului de operare.
Acesta este utilizat și de către alte distribuții cum ar fi : Edubuntu , Xubuntu , Lubuntu , Kubuntu și Linux Mint.Instalarea se face din linie de comandă cu următoarea comandă : ”sudo apt-get install lightdm” , în urma rulării acesteia sistemul începe să descarce automat datele necesare instalării componentei software și ulterior o instalează. Acest proces se repetă pentru fiecare din următoarele componente ce se vor instala , unele având nevoie de comenzi în prealabil pentru a le permit instalarea(Ex: actualizarea sau adăugarea unui nou repository din care se v-a descărca).
Figura 10 LightDM

24 Openbox Urmează instalarea unui Window Manager(Administrator de Fereastră) acesta se ocupă cu randarea pe ecran a conținutului în urma autentificării utilizatorului , tot acesta oferă în cadrul fiecărei ferestre care va fi deschisă , cele 3 opțiuni familiare oricărui utilizator și anume un semn ”X” care are rolul de a închide ferastra curentă , un semn în formă de pătrat care are rolul de a maximiza fereastra , adică sa îi afișeze conținutul pe toată zona de afișaj disponibilă. Și nu în ultimul rând un semn ”_” care are rolul de a minimiza fereastra respectivă . Window Manager-ul ales este openbox , acesta este ca și multe componente software utilizate pe parcursul dezvoltării proiectului , ales pentru stabilitatea oferită , actualizările din partea dezvoltatorului și consumul
moderat de resurse. Se instalează cu comanda ”sudo apt install openbox obconf” iar în urma instalării acestuia este necesară o delogare sau chiar un restart pentru a-și ptuea inițializa componentele.
Figura 11 Selectare Openbox

25 Window manager-ul trebuie selectat din ecranul de login al LightDM , apăsând pe cercul din dreapta căsuței text și selectând din lista afișată chenarul in care scrie ”OpenBox” , în urma selectării acestuia se poate proceda mai departe către autentificarea utilizatorului. Nautilus În continuare avem doar un desktop la care ii putem pune o imagine de fundal și nimic mai mult , pentru a putea crea și utiliza fișiere,foldere,documente avem nevoie de un navigator grafic al sistemului , acesta este nautilus. Acesta afișează o structură pe nivele a sistemului de fișiere și posibilitatea de a îl naviga, Urmează să instalăm componenta software care se ocupă te mici modificări în elementele gnome ale sistemului de operare și care este necesară pentru a-i permite lui natilus să administreze fișierele de pe desktop. În cadrul acesteia navigăm la pagina Desktop si selectăm opțiunea ”Icons on desktop” care îi va permite managerului de fișiere să administreze Desktop-ul.
Pentru ca fișierele si directoarele prezente pe desktop să fie prezente și după un restart , este nevoie de rularea continuă a procesului nautilus , astfel în fișierul autostart.sh se va scrie comanda ”nautilus –no-default-window &” această comandă pornește aplicația nautilus dar fără să deschidă
Figura 12 Nautilus 1

26 o fereastră astfel utilizatorul nu va fi nevoit sa închidă o ferastră la fiecare pornire a sistemului. Semnul ”&” reprezintă sfârșitul comenzii. Nautilus oferă posibilitatea de a creea documente noi prin apăsarea de click-dreapta și afișarea unui meniu în care este prezentă opțiunea de New Document , dar aceasta nu v-a oferii opțiuni de creere a fișierelor până când nu îi sunt oferite exemple de fișiere pe care le poate creea , acestea se regăsesc în folderul Templates. Aceasta se realizează prin pașii următori : 1. Se deschide terminalul și se tastează comanda cd pentru a reveni la directorul principal al utilizatorului. 2. Se ruleaza comanda ls pentru a afișa conținutul acestuia și se navighează în folderul templates cu comanda cd Templates 3. În cadrul acestui director se creează un fișier cu numele ”New Text File” cu extensia .txt folosind comanda touch ”New Text File.txt”. Astfel s-a creat primul șablon de fișier. Următoarele șabloane de fișiere se vor crea în mod asemănător având doar extensia diferită. În cazul de față am preferat utilizarea unui client diferit de cel clasic pentru linia de comandă , acesta este numit Terminator și oferă un grad de personalizare mai mare. Instalarea lui se face în același mod ca și a celorlalte componente , cu comanda sudo apt-get install terminator. Deoarece nautilus oferă opțiunea de a deschide terminal din meniul de click-dreapta am decis implementarea acestui avantaj al terminalului și în cazul lui terminator. Aceasta s-a realizat rulând comanda nautilus-actions-config-tool care a deschis un meniu de configurare a acțiunilor. În cadrul acestuia s-a apăsat pe butonul cu semnul ”+” care crează o nouă acțiune configurabilă. În cadrul tabelului Action , în căsuța text numită Context label s-a introduse numele care va fi afișar în meniul click-dreapta în cazul acesta Open Terminator. Navigând la tabela command se introduce în căsuța text Path locația unde se află lansatorul aplicației terminator aceasta fiind ”/usr/bin/terminator”. În cadrul căsuței text Parameters s-a introdus ”~working-directory=%d/%b” , aceasta îi vine ca parametru de pornire aplicației terminator pentru a porni direct în directorul în care este deschis meniul click-dreapta.

27 Editor fișiere (gedit) Pentru editarea fișierelor text am instalat un editor de sișiere text care poartă numele de gedit , acesta este mult mai ușor de folosit decât metodele de editare a textului oferite de către terminal (nano sau vim) și oferă posibilitatea de undo , navigare la linia dorită cu cursorul și salvarea simplă a documentului , toate acestea ne-fiind prezente în editoarele din cadrul terminal. Obmenu Este nevoie de un meniu contextual , diferit de cel oferit de către nautilus și care permite un grad mult mai ridicat de personalizare , acesta este obmenu. În cadrul acestuia se pot adăuga opțiuni personale care variază de la pornirea unei instanțe de terminal până la închiderea sau restartarea sistemului. În acest meniu am adăugat opțiunea de a edita fișierul ”autostart.sh” , opțiunea de a porni ”System Monitor” , opțiunea de a porni acest meniu de configurare , cea de a porni configuratorul openbox și opțiunile de ”Shutdown” și ”Restart”. Fișierul ”autostart.sh” este un fișier de tip shell(de unde extensia .sh) care conține comenzi ce se vor executa în momentul în care utilizatorul pornește o sesiune openbox.
Figura 13 Nautilus 2

28 ”System monitor” este echivalentul Task Manager-ului din windows și permite utilizatorului să monitorizeze resursele utilizate de către mașină. Configuratorul openbox are numele de Ob menu , acesta permite personalizarea a mai multor elemente din cadrul ferestrelor cum ar fi : poziția butoanelor de închidere , maximizare , minimizare (stânga/dreapta) , mărimea fontului din bara de deasupra ferestrei , tipul fontului , tema predominantă în cadrul ferestrelor și multe altele. Opțiunile de închidere a sistemului și de restartare a acestuia au fost adăugate , ca și celelalte , prin procesul de a selecta butonul ”New Item” iar în căsuțele text care au apărut s-a completat : la ”Label” numele care v-a apărea în meniu , la ”Action” actiunea care se va petrece la apăsarea pe numele dat (se poate selecta din ”Execute” , ”Reconfigure” , ”Restart” și ”Exit”) în urma selectării acțiunii de ”Execute” în căsuța text de mai jos trebuie scrisă comanda care se v-a executa , în cazul restartului se v-a scrie ”reboot” , pentru închidere ”shutdown now” , pentru editarea fișierului autostart.sh ”gedit ~/.config/openbox/autostart.sh”.

Figura 14 Obmenu

29 Tint2 Următoarea componentă a acestei interfețe grafice este una a cărui scop este să fie neobservată de către utilizatorul comun dar care este foarte utilă pentru cel avansat si pentru dezvoltator. Aceasta se numește tint2 și este o bară în care sunt prezente aplicațiile care sunt active , ora și data dar și eventualele aplicații de tip daemon care își prezintă icoana cu scopul de a face usor accesibil modul lor de configurare sau de a oferii opțiuni la click-dreapta. Tint2 este foarte important deoarece , în urma administrării desktop-ului de către nautilus , acesta și-a creat un spațiu de lucru care îi aparține lui și nu permite altor componente să se suprapună cu el (openbox) , acesta este un compromis necesar pentru a-i asigura utilizatorului o expreiență plăcută de utilizare și pentru a nu crea conflicte dintre administratorii de fișiere , nauilus fiind acum singurul folosit. Astfel în cadrul bării oferite de tint2 se vor putea accesa opțiunile create anterior în obmenu , dintre care cea crucială este ”Edit autostart”. Poziția ocupată de această bară este în partea superioară a desktop-ului cu funcția de autohide pornită , cu scopul de a nu deranja utilizatorul când utilizează sistemul de operare. În plus funcțiile sale de a identifica ferestrele pornite sunt replicate de către dock-ul care v-a fi prezent la baza desktop-ului și în cadrul căruia se vor regăsi scurtăturile pentru aplicațiile instalate.

30 Asemenea cazului nautilus , această componentă este necesară in permanență așa că ea ca fi activată tot prin rularea unei comenzi în fișierul autostart.sh , comanda aceasta fiind sumplu ”tint2 &”.
Figura 15 Tint 2 Dock (Cairo-Dock) Dock-ul ales este Cairo-Dock acesta este prezent la baza desktop-ului iar în cadrul acestuia se regăsesc aplicațiile care vor fi folosite de către utilizator și a căror iconițe acționează și ca indicator pentru statusul în care se află (minimizat sau în focus ) și dacă rulează mai multe instanțe ale acestora. Acest dock poate fi personalizat în funcție de preferințele utilizatorului , dar în cazul de față a fost setat să dispară automat în momentul în care este prezentă o fereastră deasupra sa , să amestece lansatoarele de aplicații cu aplicațiile deschise , astfel oferind uniformitatea aspectului iar aplicațiile deschise care deja nu se află în dock sunt amplasate automat în dreapta acestuia și dispar odată ce ele sunt închise. Meniul de setări este împărțit in 8 categorii ”Behaviour” , ”Appearance” , ”Files” , ”Internet” , ”Desktop” , ”Accessories” , ”System” , ”Fun”.

31 În categoria ”Appearance” în submeniul ”Docks” am modificat modul în care dock-ul arată , astfel de la modul defaul care era o simplă înșiruire a aplicațiilor la una 3D cu animații și reflecții , iar pentru sub-dock-uri am ales modul de afișare parabolic , acesta mod este folosit și atunci când se afișează mai multe instanțe ale aceluiași program. În cadrul categoriei ”Accessories” am activat opțiunile de a avea un ceas și un program care să controleze aplicația de redare a muzicii(rhythmbox) , de asemenea am asociat acțiunii de click pe roata de scroll a mouse-ului oprirea sau continuarea redării muzicii iar pentru acțiunile de a roti în sus sau în jos sunt asociate trecerea la următoarea sau precedenta melodie. Pentru ceas am ales ca acesta să fie detașat de dock și să fie prezent în colțul din stânga sus a desktop-ului. Pentru a asigura prezența acestui element crucial al interfeței grafice , în cadrul fișierului autostart.sh s-a introdus comanda ”cairo-dock &” , astfel și dock-ul și ceasul vor fi nelipsite de pe desktop , fiind gata să întâmpine utilizatorul în orice moment.
Figura 16 Cairo Dock

32 Pavucontrol Controlarea volumului audio al sistemului de operare este efectuată de către un manager de sunet , astfel am ales pavucontrol , acesta permite setarea volumului de playback dar și a celui de înregistrare , modul în care este trimis sunetul la boxe(stereo , mono ) dacă sunt sincronizate canalele audio(canalul stâng are același volum ca și cel drept) . Volti Pentru a evita rularea unei comenzi de fiecare dată când utilizatorul dorește să schimbe volumul sistemului am instalat o componentă corespondentă a lui pavucontrol și anume volti , aceasta acționează sub forma unei iconițe care reprezintă un difuzor iar la efectuarea unui click stânga afișează un slider de volum pe care utilizatorul îl poate trage în jos pentru micșorarea volumului sau în sus pentru creșterea sa. Această componentă este automat plasată în bara creată de către tint2 , deci va fi ascunsă cand nu va fi nevoie de ea. Volti este necesar să fie prezent tot timpul așa că se introduce comanda ”volti &” în fișierul autostart.sh. Adăugare rezoluție Pentru a modifica rezoluția curentă dar și pentru a adăuga altele noi este nevoie de un pachet de utilități numit ”x11-xserver-utils” , acesta interacționează cu un X Server. În cadrul acestui pachet de utilități adițional lui X Server este prezent xrandr , cu această componentă software se vor executa operații cu rezoluția ecranului. Așadar pentru a adăuga o rezoluție nouă este necesară executarea următoarelor comenzi (în cazul de față dorim să adăugăm rezluția 1920 x 1080): • cvt 1920 1080 60 – această comandă are ca parametrii rezoluția pe orizontală (1920 de pixeli) , rezoluția pe verticală (1080 de pixeli) și rata de reîmprospătare a ecranului (60 de Hz). Rezultatul returnat de către aceasta este crucial în pașii următori deoarece acesta oferă detaliile necesare ca argumente comenzii de creare a rezoluției. Astfel , în cazul curent rezultatul returnat este : ”1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

33 • xrandr –newmode ”1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync – Această comandă creează modul cu numele 1920x1080_60 care are specificațiile primite ca rezultat la comanda anterioară. • xrandr –addmode Virtual1 1920x1080_60.00 – În urma executării acesteia , s-a adăugat la tabela de rezoluții disponibile , pentru interfața de ecran cu numele Virtual1(nume implicit dat interfeței de ecran deoarece sistemul de operare este în cadrul unei mașini virtuale) rezoluția 1920×1080 cu rata de împrospătare de 60 Hz. • xrandr -s 18 – Execută selectarea rezoluției dorite din lista de rezoluții disponibile (aceasta se poate vedea în prealabil cu comanda xrandr). Numărătoarea listei începe de la 0 astfel rezoluția nou adăugată se află pe locul 19 în cadrul acesteia. Aceste comenzi , cu excepția primeia , trebuie executate la fiecare pornire a sistemului de operare așa că ele sunt incluse în fișierul autostart.sh chiar pe primele 3 linii. Lansator aplicații Pentru a lansa aplicațiile instalate dar care nu sunt prezente pe dock s-a instalat un lansator de aplicații care este de asemenea și capabil de a căuta fișiere după numele introdus în bara de căutare. Lansatorul ales este Ulauncher iar pentru instalarea acestuia este necesară adăugarea unui nou repertoriu \ depozit în colecția deja deținută de către Linux. Această operație este realizată cu comanda : add-apt-repository ppa:agornostal/ulauncher . Urmează comanda de actualizare a programelor deja existente și a librăriilor prezente cu comanda apt-get update. După care instalarea propriu-zisă se realizează cu : apt-get install ulauncher. Aceste comenzi se pot precede de comanda sudo care le va executa cu drepturi de administrator și vac ere parola utilizatorului doar la prima sa apelare. În urma instalării acesta este configurat să fie pornit la apăsarea tastei de windows care este recunoscută în Linux ca fiind ”Super L” iar comanda sa de pornire este introdusă în fișierul autostart.sh.

34 Browser web Navigarea pe internet este asigurată de către browserul Mozilla Firefox instalat cu comanda sudo apt-get install firefox. Odată lansată aplicația aceasta este prezentă în dock pe perioada rulării sale iar pentru a fi dispobilă permanent aceasta este accesată cu click-dreapta pe dock și se navighează la numele aplicației și la opțiunea ”Make it a launcher”. Magazin aplicații Pentru a-i oferi utilizatorului posibilitatea de a instala noi aplicații și programe , fără a fi nevoie să învețe să utilizeze linia de comandă s-a instalat magazinul de aplicații implicit al sistemului de operare Ubuntu : Ubuntu Software Center. Acesta necesită actualizarea tuturor bibliotecilor și depozitelor deja prezente în sistemul de operare , astfel trebuie rulată comanda ”sudo apt-get update” care verifică dacă există versiuni noi ale acestora și comanda ”sudo apt-get upgrade” care instalează versiunile noi ale aplicaților care dispun de acestea. Comanda ”sudo apt-get install software-center” realizează instalarea și configurarea magazinului de aplicații. Odată instalat acesta poate fi pornit din linia de comandă și atașat dock-ului pentru accesul ușor în utilizările viitoare. Deoarece instalarea și dezinstalarea de noi programe în Ubuntu cere drepturi de administrator(asociate cu introducerea parolei utilizatorului) , este nevoie ca pornirea acestuia să fie precedată de un sudo. În schimb comanda sudo nu este compatibilă cu acest program deoarece sudo este folosit pentru a invoca programe din consolă ca și administrator dar nu poate face asta pentru Software Center deoarece acesta este fundamental diferit față de celelalte fiind bazat pe un GUI și nu își întreține procesele în consolă ci în propriul său mediu. Graphical sudo Pentru a putea rula acest program cu drepturi depline este nevoie de utilizarea versiunii grafice a lui sudo și anume gksu , aceasta oferă o interfață grafică în care utilizatorul este solicitat să își introducă parola pentru a-i permite programului care îi vine ca argument comenzii gksu (Ex: gksu software-center) să ruleze cu drepturi depline. Pentru a putea porni magazinul de aplicații cu drepturi depline și din dock este nevoie de a-i schimba comanda care se execută în momentul apăsării pe iconița acestuia. Astfel se dă click-dreapta pe acesta și se navighează cu cursorul la secțiunea ”Ubuntu Software Center” și în submeniul deschis se dă click stânga pe ”Edit”. În Fereastra deschisă avem o căsuță text în stânga căreia este scris ”Command to launch on click”

35 ceea ce se introduce în acea căsuță text v-a înlocui comanda generică de pornire a programului deci se v-a scrie comanda ”gksu software-center”. Astfel la fiecare pornire a magazinului de aplicații utilizatorul își v-a introduce parola pentru a-i permite programului să instaleze aplicațiile dorite. Ubuntu Software Center se ocupă și de actualizarea automată a aplicațiilor deja instalate dar și de a sistemului de operare (Ubuntu 16.04) asigurând longevitatea acestuia.
Samba Samba este un serviciu de tip server de fișier care operează în mediul Linux dar poate fi accesat de mai multe sisteme de operare , nefiind nevoie de o aplicație client pentru a-l accesa. Acesta funcționează în modul următor : persoana care configurează samba poate crea mai multe foldere și ele vor fi accesate de către utilizatori folosind adresa IP a mașinii care rulează windows și numele folderului pe care doresc să îl acceseze. Instalarea acestui serviciu se face rulând
Figura 17 Lansare Software Center cu gksu

36 comanda ”sudo apt update” pentru a actualiza librăriile deja prezente iar după , comanda ”sudo apt install samba”. În cazul de față s-a creat un director pe desktop cu numele ”iso” , acesta se poate crea din nautilus sau din terminal cu comanda ”mkdir /home/vlad/Desktop/iso”. Urmează configurarea serverului accesând fișierul .conf de configurare care este localizat în /etc/samba și are numele de smb.conf. Acesta se deschide cu drepturi depline cu comanda ”sudo gedit smb.conf” , este nevoie de a-l deschide cu dreptul de sudo deoarece fișierul se află într-o locație sensibilă pentru sistemul de operare și acesta nu va permite efectuarea schimbărilor în acea zonă unui utilizator fără drepturi depline. Odată deschis fișierul s-au introdus sub ultimele rânduri deja scrise instrucțiunile : ”[iso] ” = numele pe care îl vom introduce la momentul conectării ”path = /home/vlad/Desktop/iso” = calea de acces către directorul creat ”readonly = no” = utilizatorul nu este constrâns de condiția de a fi capabil doar de citire , el poate modifica conținutul directorului respectiv ”browsable = yes” = managerul de fișiere va lista acest fișier și în directorul Network După salvarea modificărilor se restartează serviciul cu comanda ”sudo service smbd restart” după care se va configura numele de utilizator și parola care vor trebui introduse în momentul conectării , acestea trebuie să aparțină unui cont existent altfel nu se vor salva datele utilizând comanda ”sudo smbpasswd -a nume_utilizator” , în urma acesteia se va cere introducerea parolei. Pentru a verifica statusul serviciului samba se rulează comanda ”sudo service smbd status” și se va verifica dacă în dreptul cuvântului ”Active:” scrie ”active (running)”. Pentru a prelua fișierele stocate în directorul iso , în bara de adrese din windows explorer se introduce IP-ul mașinii cu Linux precedat de ”\\” și urmat de ”\iso” , după care se va cere introducerea credențialelor de logare definite anterior. Systemback Pentru a putea instala aceasta distribuție personalizată de Linux pe alte calculatoare este nevoie ca tot sistemul să fie transpus într-un format de instalare cum ar fi un format ISO. Pentru

37 realizarea acestei sarcini s-a ales programul systemback , acesta are mai multe funcționalități cum ar fi crearea unui punct de restaurare a sistemului însă cee ace ne interesează este capabilitatea acestuia de a crea arhiva întregului sistem de operare și de a o converti în iso. Înainte de a instala acest program este nevoie de adăugarea unei librării noi , în care se află kitul său de instalare. Librăria se adaugă cu comanda ” sudo add-apt-repository ppa:nemh/systemback” , după care se actualizează lista librăriilor cu comanda ”sudo apt-get update” , urmând să se instaleze programul cu comanda ” sudo apt-get install systemback”. Pornirea acestui program se face în același mod cu pornirea programului software-center și din aceleași motive , deci folosind comanda ”gksu systemback”. După introducerea parolei se selectează din meniu butonul ”Live system create” , în căsuța de nume se introduce numele pe care îl va avea arhiva și se apasă butonul create new. După o perioadă de timp care poate varia între 30 de minute și 2 ore imaginea este creată dar încă nu este în format ISO. Schimbarea în format ISO se realizează apăsând butonul convert to ISO după ce s-a selectat arhiva creată anterior. Navigând în directorul /home se vor găsi ambele arhive cu extensiile .iso și .sblive , vom muta din directorul home în cel iso folosind comanda ”sudo mv Vlad_Linux.iso /home/vlad/Desktop/iso” , odată mutată arhiva aceasta va fi copiată pe calculatorul gazdă accesând fișierul iso prin modalitatea enunțată la configurarea Samba.

38 5.3 Tehnologii specifice VMware Workstation 15 PRO este o soluție de virtualizare a proceselor. Cu ajutorul VMware Workstation 15 PRO se pot rula pe un sistem desktop, o varietate de sisteme de operare sub formă de mașini virtuale. Aceasta simulează componentele reale ale unui calculator , CPU , GPU , RAM , HDD oferind un caz ideal de compatibilitate pentru rularea unui sistem de operare și posibilitatea de a rula sisteme de operare învechite pe componente moderne (Ex. : Windows XP pe un procesor Intel din generația Kaby Lake). În plus , datorită viirtualizării și kitului software care permite folosirea Copy-Paste din sistemul gazdă în cel virtualizat cât și funcția drag & drop transferul de fișiere dintre acestea nu întâmpină dificultăți. În același timp virtualizarea permite separarea celor 2 sisteme și datorită acesteia dacă sistemul virtualizat întâmpină malware acesta nu va afecta sistemul gazdă . Rufus este o unealtă software utilă în crearea stick-urilor bootabile dezvoltată pentru Microsoft Windows. Este utilizat a crea medii de instalare USB din ISO-uri bootabile (Windows, Linux, UEFI, etc.) , a lucra pe un computer care nu are un sistem de operare instalat , a rescrie un BIOS sau orice alt software DOS , a executa utilitare low-level. A apărut în anul 2011 avînd suport inițial doar pentru MS-DOS , versiunea 1.0.4 a introdus suport pentru FreeDOS iar versiunea 1.1.0 a adus suportul pentru ISO. Este de aproximativ două ori mai rapid decât UNetbootin, Universal USB Installer sau Windows 7 USB Download Tool la crearea unui stick USB cu Windows 7 dintr-un ISO. Este și mai rapid când vine vorba de crearea USB-urilor cu Linux. [3] Un alt serviciu pe care l-am utilizat este Windows 10. Acesta este un sistem de operare pentru computere personale dezvoltat de Microsoft ca parte a familiei de sisteme de operare Windows NT. A fost anunțat în septembrie 2014, urmat de o scurta demonstrație la conferința Build. Prima versiune a sistemului de operare a intrat în procesul de beta testing public în octombrie 2014, versiunea finală fiind lansată oficial pe 29 iulie 2015. Windows 10 a introdus aplicațiile universale, extinzând aplicațiile Metro, acestea fiind proiectate sa ruleze pe mai multe dispozitive din familia Microsoft, cu un cod aproape identic, incluzând computere personale, tablete, smartphone-uri, sisteme înglobate, Xbox One, Surface Hub și Windows Holographic. Interfața Windows a fost revizuită pentru a ușura tranziția dintre o interfață

39 adaptată pentru mouse și o interfață adaptată pentru touchscreen, bazate pe dispozitivele de intrare disponibile — în special la PC-urile 2-în-1; ambele interfețe includ meniul Start ce încorporeaza elemente ale meniului Start din Windows 7 și Windows 8. Prima versiune de Windows 10 a mai introdus o caracteristică pentru a administra ferestrele și desktop-urile virtuale numită Task View, browser-ul Microsoft Edge, suport pentru autentificarea cu amprentă sau prin recunoașterea faciala, noi caracteristici de securitate pentru sistemele enterprise, și DirectX 12 și WDDM 2.0, acestea îmbunatațind capabilitațile de grafica ale sistemului de operare pentru jocuri. [4] Un alt serviciu utilizat, este cel de Linux. Acesta este o familie de sisteme de operare de tip Unix care folosesc Nucleul Linux. Linux poate fi instalat pe o varietate largă de hardware, începând cu telefoane mobile, tablete, console video, continuând cu calculatoare personale până la supercomputere. Linux este cunoscut în principal pentru utilizarea sa ca server. Termenul Linux se referă și la nucleul Linux, însă în mod uzual este folosit pentru a descrie întregul sistem de operare pentru calculatoare, compus din nucleul Linux, componenta GNU ,biblioteci software și diverse unelte. O "distribuție Linux" adaugă acestor componente de bază o mare cantitate de programe, organizate în „pachete”. Ubuntu este un sistem de operare baza pe Linux pentru computerele personale, servere și netbook-uri. Rudă apropiată a sistemului de operare Debian GNU/Linux, Ubuntu este ușor de instalat și folosit, des actualizat și neîngrădit de restricții legale. [1]

40 Concluzii În urma dezvoltării aplicației prezente se pot observa câteva avantaje dar și dezavantaje față de distribuția Linux pe care se bazează , anume Ubuntu 16.04 LTS însoțit de interfața sa grafică. Unul dintre avantaje este consumul cu până la 50% mai mic al memoriei RAM datorită faptului că distribuția personalizată de Linux nu rulează în fundal programe care nu sunt neapărat necesare pentru buna desfășurare a activităților utilizatorului . Contribuind la lista de programe care utilizează resurse pe varianta concurentă sunt acele rutine de fundal (daemon-i) care se ocupă cu trimiterea datelor legate de activitatea zilnică a utilizatorului pe sistemul de operare către dezvoltatorii acelei distribuții. În ciuda faptului că unele procese de fundal sunt concepute cu intenția de a-i veni în ajutorul utilizatorului , în cazuri extrem în care memoria sistemului este în cantități scăzute , ele pot afecta performanța sistemului.
Tot datorită discrepanței dintre numărul de programe prezente în versiunea personalizată a sistemului și cea concurentă se poate observa o diferență considerabilă dintre dimensiunile sistemelor și chiar dintre timpii de pornire ale acestora , sistemul care posedă doar programele strict necesare inițializându-se într-un timp mult mai scurt. Un prim dezavantaj al acestei aplicații îl reprezintă nivelul avansat de cunoștințe în domeniul sistemelor de operare de care un utilizator ,care dorește un grad mai ridicat de personalizare al sistemului , trebuie să dispună. Aplicația realizând un compromis între reducerea resurselor utilizate și ușoara particularizare a acesteia de către utilizatorii novici.
Figura 18 Comparare System Monitor

41 Un alt neajuns al aplicației îl reprezintă aspectul nefinisat al interfeței , aceasta poate fi considerată de unii utilizatori ca fiin prea simplistă și insuficientă pentru nevoile lor. Dar, datorită naturii open source a proiecului , utilizatorii care doresc o schimbare pe această temă și dețin cunoștințele necesare realizării acestei sarcini sunt liberi să realizeze orice modificare doresc. În urma unor teste pe mai multe calculatoare și laptop-uri am realizat că mediul optim de funcționare al aplicației , în stadiul curent , îl reprezintă unitățiile cu procesoare Intel și care nu conțin componente recente și foarte avansate. Acest lucru oferă o șansă mai mare ca aplicația să poată comunica eficient cu hardware-ul unității. În plus , pentru utilizarea optimă este necesară o tastatură și un mouse deoarece unele trackpad-uri pot fi incompatibile cu aplicația , fapt care pote provoca funcționarea defectuoasă a cursorului sau chiar nefuncționalitatea sa.

42 Dezvoltări ulterioare În viitor se pot adăuga diverse funcționalități , posibilitățile fiind infinite datorită comunității Linux care se află într-o continuă expansiune. Dezvoltatorii nu vor întâmpina dificultăți in dezvoltarea unui program pentru această aplicație deoarece aceasta este la bază tot Ubuntu 16.04 LTS. Una din posibilele funcționalități adiționale care s-ar putea implementa ar fi preluarea automată de drivere pentru mașina pe care este instalată aplicația , odată ce s-a realizat conexiunea la internet. Acest proiect are posibilitatea de a crește considerabil numărul de mașini pe care ar putea rula aplicația fără să întâmpine dificultăți sau erori. Un asemena proiect necesită o echipă de mai mulți dezvoltatori Linux și ajutor din partea comunității Linux . O altă funcționalitate ar putea fi dezvoltarea unei liste cu toate aplicațiile instalate , asemenea celei din cadrul D.E.-ului prezent în versiunea cu interfață grafică a lui Ubunutu 16.04 care poartă numele de Unity. Prezența unui mediu în care utilizatorul să poată vizualiza programele și aplicațiile instalate dar să le și acceseze și dezinstaleze ușor ar putea avea ca efect creșterea numărului de utilizatori ai aplicației. Această funcționalitate a fost oarecum îndeplinită cu utilizarea lansatorului de aplicații care , în urma introducerii numelui unui program returnează iconița acestuia și el poate fi pornit. Însă în cazul în care utilizatorul nu cunoaște sau a uitat numele programului de care are nevoie , acest lansator de aplicații își pierde din funcționalitate. Nu în ultimul rând , orice aspect al aplicației poate fii înlocuit , modificat sau îmbunătățit de către persoanele doritoare , lăsând mereu loc de mai bine și posibilitatea nesfârșită de inovație. Dar în același timp , oferind securitatea și stabilitatea pentru care Linux s-a făcut cunoscut pe parcursul anilor , pe lângă flexibilitatea nemaiîntâlnită până la apariția sa.

43 Bibliografie [1] C. Negus, Linux Bible 2007 Edition, 2007. [2] gnu.org, „Linux and the GNU System,” pp. https://www.gnu.org/gnu/linux-and-gnu.en.html. [3] Rufus, „Site oficial Rufus,” https://rufus.ie/, 2019. [4] P. M. Brian Knittel, Windows 10 in Depth, 2015. [5] H.-P. Messmer, The Indispensable PC Hardware Book – Third Edition, 1997. [6] K. G. Anand Joshi, "UEFI on Dell BizClient Platforms," pp. 4-8, 2011. [7] B. F. T. Robert Bruce Thompson, PC hardware in a nutshell, O'Riley Media, 2003. [8] K. Thomas, Beggining Ubuntu Linux From Novice To Professional, Apress, 2006. [9] B. B. Brey, The Intel Microprocessors Architecture. [10] F. J. Corbató, „Take our word for it,” Issue 146, 2002. [11] M. C. Victor Kaptelinin, Beyond the desktop metaphor designing integrated digital work environments, 2007. [12] K. Krewell, „What’s the Difference Between a CPU and a GPU?,” https://blogs.nvidia.com/blog/2009/12/16/whats-the-difference-between-a-cpu-and-a-gpu/, 2009. [13] Enciclopedia Britanica, „Graphical user interface,” https://www.britannica.com/technology/graphical-user-interface. [14] T. Fisher, „What is an ISO File ?,” https://www.lifewire.com/iso-file-2625923, 26.03.2019. [15] HWM Magazine, „An Introduction to Network Attached Storage,” 2003. [16] H. B. Andrew S. Tanenbaum, Modern operating systems, Pearson , 2014. [17] G. Chiș, Sisteme de Operare Curs, Universitatea Babeș-Bolyai.

44 [18] N. Mansfield, The Joy of X: The Architecture of the X Window System, UIT Cambridge Ltd, 2010.

45 Glosar 1. BIOS/UEFI – BIOS (Basic Input/Output System – Sistem de Baza Intrare Ieșire) este programul pe care microprocesorul unui calculator îl folosește pentru a porni sistemul și toate componentele acestuia în momentul apăsării butonului de pornire. Acesta se ocupă și de administrarea fluxului de date dintre sistemul de operare și dispozitivele atașate cum ar fi : hard disk , placa video , mouse-ul , tastatura și alte plăci de expansiune.. BIOS-ul este integrat în placa de bază și este accesat de către procesor pe un chip cu memorie doar scriere care se poate șterge. Este scris în Assembly. [5, pp. 30-34] UEFI – Unified Extensible Firmware Interface (Interfață Firmware Extensibilă Unificată) este asemănător BIOS-ului ,este scris în C, dar aduce câteva avantaje față de acesta : Poate folosi hard disk-uri cu o capacitate mai mare de 2TB Folosește un mod de formatare mai eficient GPT(GUID Partition Table) în loc de MBR(Master Boot Record) Are o arhitectură independentă de procesor Oferă posibilitatea de a inițializa sistemul într-un mod securizat prin încărcarea driver-elor care vin din surse sigure. [6, pp. 4-8] 2. Blue Screen Of Death(BSOD) – Apare când windowsul întâmpină probleme legate de hardware , temperatura componentelor , sincronizarea firelor de execuție , resurse . registre corupte sau viruși.Și-a primit numele de Ecranul Albastru al Morții deoarece mesaje critice legate de starea calculatorului sunt afișate pe acesta în momentul apariției sale. Mai este cunoscut și ca ”stop error” deoarece provoaca restartarea calculatorului și implicit oprește orice proces care rula în prealabila sa apariție. În mod implicit windows 10 scrie eroarea în log-ul sistemului , descarcă conținutul memoriei într-un fișier și repornește sistemul și trimite datele importante legate de eroarea întâmpinată către Microsoft pentru analizarea acesteia. [4, pp. 582-584]

46 3. Bootable Drive – este un stick de memorie care conține un fișier de tip ISO numit și imagine a sistemului de operare , care odată introdus în calculator și accesat începe instalarea sistemului de operare prezent în memoria sa pe calculatorul gazdă. [7, pp. 156-158] 4. CLI – Acronim de la Command Line Interface (Interfață Linie de Comandă) este o modalitate de a interacționa cu calculatorul , prin care utilizatorul emite comenzi în forma liniilor de text iar interpretatorul de comenzi le execută sau returnează eroare în cazul comenzilor eronate. CLI a fost modalitatea primară de interacțiune cu majoritatea calculatoarelor între anii 1960-1980.Astăzi această interfață este regăsită în cadrul cmd pentru Windows și în terminal pentru Linux. [8] 5. CPU – Central Processing Unit(Unitate Centrală de Procesare) este procesorul central care se ocupă cu îndeplinirea instrucțoinilor unui program , realizează operații aritmetice , logice și de intrare/ieșire specificate de respectivele instrucțiuni.. Forma și designul procesoarelor s-a schimbat pe parcursul anilor de la socket-ul PGA cu 169 de contacte receptoare pentru pinii procesorului pentru procesorul intel 80486 , unul dintre cele mai cunoscute procesoare din anii 90 până la LGA 1151 cu 1151 de pini pentru contactele de pe procesoarele(I3 , I5 , I7) din generațiile Skylake , Kaby Lake și Coffee Lake care oferă o diferență colosală de putere de procesare față de 80486. [7, pp. 230-233] [9, pp. 760-765] 6. Daemon – este un program care rulează ca și proces de fundal și nu este controlat de către utilizator. Un daemon este de obicei creat de către un proces care își crează un proces clonă , această acțiune se numește forking, după care urmează imediata terminare a celui oroginal astfel procesul init ,primul proces care pornește în momentul inițializării sistemului de operare, (din 2016 a fost înlocuit de systemd) adoptă acel proces și îl rulează în fundal pentru cât timp este necesară rularea sa. Aceste procese numite deamons mai au și rolul de a a monitoriza alte procese și de a rula rutine predefinite în funcție de comportamentul subiectului monitorizat. Numele de daemon a fot întâlnit pentru prima dată în fizică și în termodinamică sub numele de ”Maxwell’s daemon” (demonul lui Maxwell) , acesta era un agent imaginar care ajuta la

47 sortarea moleculelor și lucra fără încetare fără să fie observat direct . Având aceste caracteristici , denumirea a fost adoptată și în domeniul informaticii și este întâlnit în principal pe sistemele de operare Unix-Based cum ar fi : Ubuntu , Xubuntu , Android , MacOS. [10, p. 4] 7. D.E. – Desktop Environment (Mediu Desktop) este un set de programe care rulează în cadrul unui sistem de operare și care împart o interfață grafică comună . D.E.-ul ajută utilizatorul să acceseze și să modifice ușor fișierele dar în general nu oferă acces la toate funcționalitățile care pot fi accesate folosind tradiționala CLI . Acestă este format în general din iconițe , ferestre , bare de instrumente , directoare , widget-uri și multe altele. În plus , un D.E. oferă funcția de drag & drop. Cele mai comune D.E. sunt care sunt întâlnite pe calculatoarele personale sunt interfața integrată în Windows având numele Luna în windows XP , Aero în Windows 7 , Metro în windows 8 și 8.1 , Modern în Windows 10 , Aqua în MacOS și Unity în Ubuntu. [11] [8] 8. DirectX 12 – Este un set de API-uri lansat pentru prima dată în anul 1995 și dezvoltat de către Microsoft care permite software-ului să scrie instrucțiuni direct pe componentele audio și video astfel îmbunătățind performanțele multimedia. Jocurile care includ DirectX au capacitatea de a utiliza acceleratoarele grafice (GPU) într-un mod mult mai eficient. DirectX include mai multe componente dintre care : Direct3D se ocupă cu randarea în 3D , DirectSound se ocupă cu procesarea semnalelor sonore , DirectInput se ocupă cu interpretarea semnalelor de la controller-e de jocuri și alte dispozitive similare iar DirectPlay se ocupă cu gaming-ul pe internet. În prezent Direct3D este fuzionat cu OpenGL, acesta fiind un API concurent. [7] 9. DVD – este o abreviere de la Digital Versatile Disc (Disc Digital Versatil) și este un mod de formatare a discurilor care a fost inventat și dezvoltat în 1995. Acest mediu de stocare poate stoca orice tip de date și este încă folosit pentru stocarea de software sau a altor fișiere. Există mai multe formate : DVD-ROM – acesta este un format de dvd care permite o singură scriere asupra sa și datele odată scrise pe acesta nu se pot șterge

48 DVD-R(W) – este un format de dvd care permite rescrierea sa prin suprascrierea datelor deja existente. DVD-urile vin în 4 mărimi și anume : 4.7 GB – acestea pot fi scrise doar pe una din suprafețe și acea suprafață are un singur strat 8.5 GB – acestea pot fi scrise doar pe una din suprafețe și acea suprafață are două straturi 9.4 GB – acestea pot fi scrise pe ambele suprafețe și acele suprafețe au doar un singur strat 17.8 GB – acestea pot fi scrise pe ambele suprafețe și acele suprafețe au fiecare câte două straturi. [7, pp. 975-979] 10. GNU/Linux – este de fapt un duet de software format din kernel-ul care poartă numele Linux și sistemul de operare GNU. Acronimul GNU este de fapt unul recursiv care înseamnă de fapt ”GNU’s Not Unix!” (GNU Nu este Unix) , a fost ales deoarece design-ul acestuia este asemănător cu cel Unix dar diferă față de el prin faptul că este gratuit și nu conține cod Unix. Fondatorul proiectului GNU este Richard Stallman , acesta a început în anul 1984 să lucreze la sistemul de operare iar oadată cu apariția kernelulul Linux scris de către Linus Torvalds în anul 1991 acestea au crescut în popularitate ca fiind un pachet software. De fapt de fiecare dată când se face referință la Linux se face implicit la GNU/Linux deoarece acestea formează un pachet complet și sunt interdependente. Scopul proiectului GNU a fost de a dezvolta un sistem de operare complet gratuit care să aibă multe caracteristici asemănătoare cu Unix . Acest scop a fost îndeplinit , fapt care este demonstrat prin multitudinea de distribuții Linux gratuite care sunt disponibile în ziua de azi. [8] [2] 11. GPU – Graphical Processing Unit (Unitate de Procesare Grafică) , se regăsește în cadrul unei plăci video. Diferența dintre un CPU și un GPU este la nivelul de design , pentru ce tip de operații sunt proiectate să realizeze. Pe când un CPU este proiectat să rezolve operații matematice și logice complexe un GPU este conceput din start pentru realizarea unui set de operații într-

49 un mod repetitiv dar extrem de rapid pe un set colosal de date , ceea ce un CPU nu poate face , neavând destule nuclee. Un procesor are între 2 și 32 de nuclee fizice cu o frecvență care depășește de cele mai multe ori pragul de 3GHz , un GPU are mii de nuclee (4352 de nuclee cu frecvența de 1635MHz în cazul plăcii video Nvidia RTX 2080 Ti) care operează la o frecvență mult mai mică dar care îi permit realizarea operațiilor repetitive cu o viteză foarte mare. Inițial capabilitățile avansate de procesare ale unui GPU erau folosite primar pentru randarea 3D a jocurilor însă acum acele capabilități sunt folosite pentru accelerarea proceselor computaționale din cadrul modelării financiare , cercetării științifice sau chiar oferirea prognozelor meteo [12] 12. GUI – Graphical User Interface , Interfața Grafică pentru utilizator îi permite acestuia ca comunice cu un calculator prin utilizarea simbolurilor , elementelor vizuale și a cursorului. Cele mai cunoscute implementări de GUI sunt cele prezente în MacOS și Microsoft Windows. GUI-ul este o componentă complementară a modului învechit de funcționare al sistemelor de operare și aduce un sistem relativ intuitiv care face operarea calculatorului mult mai ușoară dar în același timp și mai plăcută și naturală. Popularizarea GUI a fost făcută de către Apple , ei lansând calculatorul cu numele Lisa. Acesta avea un GUI foarte avansat pentru vremea aceea și în anii următori ceilalți producători au văzut avantajele utilizării unei interfețe grafice în locul celor bazate pe linie de comandă(CLI). Astfel a ajuns standard ca orice sistem de operare destinat consumatorilor să aibă o interfață grafică. [13] 13. HDD – Hard Disk Drive este mediul primar de stocare a informației al calculatoarelor , acesta constă dintr-unul sau mai multe discuri placate cu material magnetic , un motor electric care învârte discurile și capete de scriere (asemenea unui pick-up) acționate de bobine magnetice care scriu și suprascriu informație pe acestea. Spre deosebire de RAM unde datele sunt stocate doar atât timp cât calculatorul este pornit , după care aceasta se pierde , datele scrise pe HDD rămân acolo până la momentul ștergerii lor. Capetele de

50 scriere sunt suspendate deasupra fiecărui disc așteptând să facă contact cu ele și să scrie informație , ele sunt susținute de o pernă de aer cauzată de efectul Bernouli care rezultă din rotația rapidă a plăcilor , între 5400 și 10000 de rotații pe minut. Din cauza faptului că există foarte puțin spațiu între capul de scriere și discul magnetic o particulă de praf ar putea avea efecte devastatoare asupra integrității HDD-ului. Din acest motiv ele sunt sigilate și conține filtre de aer care au scopul de a egala presiunea dintre mediul înconjurător și HDD fără a-i permite prafului să pătrundă în mediul extrem de sensibil al discurilor. [7, pp. 1118-1120] 14. ISO – Un fișier ISO , adesea numit imagine ISO , este un fișier care este reprezentarea perfectă a unui întreg CD/DVD. Întreg conținutul unui disc poate fi duplicat perfect într-un singur fișier ISO. O imagine ISO poate fi văzută ca ă cutie care conține toate părțile unui lucru care trebuie construit (ca o cutie pentru lego). Odată extrase componentele din arhivă (cutia) acestea devin utile pentru utilizator. Fișierele ISO sunt folosite cel mai des pentru distribuția de programe de dimensiuni mari pe internet datorită în principal faptului că este mult mai ușor și rapid să se trimită un fișier de dimensiuni mai mari decât multe fișiere de dimensiuni reduse. Fișierele ISO trebuie scrise pe CD/DVD-uri , în funcție de mărimea fișierelor se alege mediul de stocare. Odată scrise aceste discuri devin kituri de instalare pentru programele scrise pe ele și sunt folosite ca atare. În cazul în care se dorește folosirea unui stick de memorie în locul unui disc (datorită vitezei ridicate) , sunt necesare instrumente care să realizeze scrierea corectă din format ISO pe stick-ul de memorie. Unul dintre aceste programe a fost utilizat și mențtionat anterior : Rufus. [14] 15. NAS – Network Attached Storage (Spațiu de stocare atașat la rețea) este un dispozitiv asemănător unui calculator care în general nu are mouse , tastatură , monitor și are nevoie doar de o conexiune la internet și de curent electric. Acesta conține unul sau mai multe HDD-uri și are ca unic stocarea de fișiere pentru calculatoarele prezente pe rețea care au acces la acesta. Poate fi văzut ca un HDD extern care nu necesită utilizarea altui port înafară

51 de cel de Ethernet sau a antenelor Wi-Fi. Cu ajutorul unor diverse programe orice calculator poate fi transformat într-un NAS dar cu o capacitate relativ redusă față de unul adevărat și fără multe din măsurile de asigurare a integrității datelor pe care le posedă dispozitivul dedicat. [15, pp. 90-92] 16. OS – Operating System , Sistem de Operare. Un Sistem de calcul modern este alcătuit din mai multe procesoare , memorie principală , discuri , display , interfețte de rețea și alte interfețte de intrare/ieșire. Toate aceste elemente împreună formează un sistem complex.Dacă fiecare programator ar trebui să înțeleagă cum funcționează aceste lucruri nu s-ar mai scrie niciodată cod . În plus adrministrarea acestor componente și folosirea lor într-un mod optim este o sarcină extrem de dificilă. Din acest motiv calculatoarele sunt echipate cu un software numit Sistem de Operare a cărui sarcină este de a furniza programelor utilizatorului un model mai bun și mai simplu al calculatorului și să se ocupe de administrarea resurselor menționate. [16] ”Sistemele de operare realizează două funcții de bază între care nu există nici o legătură : extinderea funcționalității mașinii și gestionarea resurselor , ceea ce nu putem spune este care din aceste funcții este mai importantă. Prin funcția de extindere ascunde detalii neplăcute precum : întreruperile , timer-ele , gestiunea memoriei și alte elemente de nivel scăzut. Tot funcția de extindere ascunde programatorului ”adevărul” despre structura hard și prezintă numai partea frumoasă a fișierelor nu și cu octeți și reprezintă o vedere de sus în jos a SO” [17] 17. RAM – Random Access Memory , Memorie Acesată la Întâmplare numită și memoria principală , această memorie este folosită de calculator pentru a stoca date ale programelor care rulează în momentul respectiv. Acest tip de memorie este volatil , adică odată cu închiderea calculatorului conținutul acestei memorii se pierde. Cu toate că are acest dezavantaj , ea are avantajul de a opera la o viteză extrem de mare , pe când un HDD operează la viteze de până la 200 MB/s memoria ram operează la viteze de ordinul GB/s astfel fiind cel mai rapid mediu de stocare disponibil din calculator. Acest tip de

52 memorie vine întru-un format fizic de forma unei plăci (dimm – dual in-line memory module) cu pini si microcipuri care constituie capacitatea de memorie a plăcii. [7] 18. ROM – Read Only Memory , Memorie doar Citire este un tip de memorie care odată scrisă , conținutul acesteia nu mai poate fi schimbat ci doar citit . Cele mai proeminente exemple de memorie ROM sunt CD-urile și DVD-urile care nu sutn de tipul RW(Re-Writable) , acestea au capacități mari dar odată scrise , idifierent dacă au fost scrise în totalitate sau nu , ele pot fi doar citite și orice schimbare asupra datelor stocate pe acestea este imposibilă. [5, p. 921] Un alt exemplu de memorie ROM este memoria prezentă pe placa de bază în care sunt localizate programele și informațiile de care are nevoie calculatorul pentru a porni. În plus , tot aici se mai află și programe de tip rutină care sunt folosite la accesarea tastaturii , mouse-ului , GPU-ului etc. Aceasta este cunoscută ca ROM-BIOS. [5, p. 10] 19. Shell – Înainte ca iconițele și ferestrele să acaperezele ecranele utilizatorilor , aceștia obișnuiau să scrie comenzi pentru a utiliza majoritatea calculatoarelor. Pe sistemele Unix , din care a fost derivat Linux , programul care se ocupa cu interpretarea și administrarea acestor comenzi se numea shell. Indiferent de distribușia de Linux folosită , acest shell este mereu la dispoziția utilizatorului. Acest program oferă posibilitatea rulării altor programe , de a lucra cu sistemul de fișiere , de a compila cod , de a opera sistemul și de a administra calculatorul. În ciuda faptului că shell nu este atât de intuitiv ca și o interfață grafică , majoritatea experților Linux consideră shell ca fiind mult mai puternic decât orice interfață grafică. Unele dintre motivele majore pentru un utilizator de a utiliza shell sunt : • Va putea să navigheze în orice sistem Linux sau Unix-like deoarece limbajul folosit este universal și nu necesită învățarea modului de funcționare al interfețelor de la distribuție la distribuție. • Caracteristici speciale ale shell permit interacțiunea dintre comenzile introduse. Pentru a economisi timp la tastarea comenzilor , utilizatorii

53 avansați folosesc diverse comenzi pentru a-și auto-completa comenzile în timp ce le scriu , pentru a le repeta , eliminând nevoiea de a scrie o comandă de multiple ori. Mulți utilizatori avansați de Linux operează sistemul în mare parte din shell. [1, pp. 33-34] 20. Un X Server este un program din cadrul ”X Window System” care la rândul său este sistem cross-platform responsabil cu administrarea interfețelor grafice (Graphical User Interface / GUI) pe calculatoare individuale sau chiar și pe rețele de calculatoare. Acest sistem este unul dintre cele mai puternice și utile pachete de software pentru Linux și alte sisteme de operare bazate pe Unix, este motorul grafic implicit al acestor sisteme. X Server rulează pe mașina locală(calculatorul personal) și se ocupă de utilizarea resurselor grafice cum ar fi placa video , monitorul(sau monitoarele) și dispozitivele de intrare (în general mouse și tastatură) pe aceste calculatoare.Relația dintre X Server și client este cea tipică astfel aplicația client rulează în mediul local , ajută utilizatorul să ceară date de la server și afișează datele pe ecranul utilizatorului. Aplicația server este cea care execută de fapt sarcinile de a administra ecranul și multe altele incluzând executarea operației cerute de către client. Acest mod de operare are avantajul de a elimina nevoia programelor de a fii conștiente de detaliile fizice ale componentelor , astfel simplificând dezvoltarea lor și facilitând o mentenanță mai ușoară. [8, pp. 485-486] [18, pp. 3-16] 21. WDDM – Windows Display Driver Model este arhitectura driver-ului grafic rulat de Windows începând de la Windows Vista. A înlocuit driver-ele precedente ale Windows 2000 și Windows XP anume XDDM/XPDM și are ca scop introducerea de noi funcționalități grafice de a aduce mai multă stabilitate sistemului. Acest driver oferă funcționalitățile necesare pentru a randa desktop-ul și aplicațiile folosind managerul de ferestre. [4]

54 Anexe Creare utilizator sudo useradd vlad sudo passwd vlad 123456 Instalări servicii Lightdm : sudo apt-get install lightdm Obconf sudo apt-get install openbox obconf Nautilus :sudo add-apt-repository ppa:gnome3-team/gnome3 sudo apt-get update && sudo apt-get install nautilus Gedit : sudo apt-get install gedit Obmenu : sudo apt-get update sudo apt-get install obmenu System Monitor : sudo apt-get install gnome-system-monitor Tint2 : sudo apt-get install tint2 Cairo Dock : sudo add-apt-repository ppa:cairo-dock-team/ppa sudo apt-get update sudo apt-get install cairo-dock cairo-dock-plug-ins Pavucontrol : sudo apt install pavucontrol Volti : sudo apt-get update sudo apt-get install volti Suita de utilități x server : sudo apt-get update sudo apt-get install x11-xserver-util Lansatorul de aplicații Ulauncher : sudo add-apt-repository ppa:agornostal/ulauncher

55 sudo apt-get update sudo apt-get install ulauncher Mozilla Firefox : sudo apt-get update sudo apt install firefox Magazinul de aplicații : sudo apt-get install software-center Graphical sudo : sudo apt-get update sudo apt-get install gksu Server de fișiere Samba : sudo apt update sudo apt install samba Utilitatea de creare a imaginii de instalare : sudo add-apt-repository ppa:nemh/systemback sudo apt-get update sudo apt-get install systemback Utilitatea de configurarea a acțiunilor nautilus : sudo apt-get install nautilus-actions nautilus-actions-config-tool Creare templates cd ~/Templates touch ”New Text File.txt” touch ”New Impress Document.odp” touch ”New Spreadsheet Document.ods” touch ”New Writer Document.odt”

56 Configurări Samba whereis samba mkdir /home/vlad/Desktop/iso sudo gedit smb.conf în smb.conf : [iso] path = /home/vlad/Desktop/iso readonly = no browsable = yes Rulare systemback : gksu systemback Transfer fișier iso : sudo mv Vlad_Linux.iso /home/vlad/Desktop/iso Rularea comenzilor la pornire sudo gedit ~/.config/openbox/autostart.sh Se introduc în autostart.sh comenzile : xrandr –newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync & xrandr –addmode Virtual1 1920x1080_60.00 & xrandr -s 18 & nautilus –no-default-window & tint2 & cairo-dock & volti & ulauncher& Pornire software-center : gksu software-center

Similar Posts