Revizuind alte articole am dat peste această mică întrebare care mi-a provocat o mulțime de distracție, este adevărat că unul dintre primele lucruri pe care utilizatorii altor sisteme (cu excepția FreeBSD) le primesc în față este că nu folosim interfețele grafice. Ca să spun adevărul, mi s-a părut destul de curios și la începutul călătoriei mele GNU / Linux. Trebuie să recunosc că, de-a lungul timpului, folosesc linia de comandă mult mai mult decât orice alt program GUI și de multe ori prefer programele din linia de comandă decât programele mai elaborate cu interfețe GUI orbitoare.
Mitul
De fapt, acesta nu este nimic mai mult decât un mit urban, deoarece, spre deosebire de alte sisteme ale căror nume nu vor fi menționate aici, în GNU/Linux ai cu adevărat libertatea de alegere. Mi-aș dori ca alte sisteme să ofere versatilitatea care există aici. Dar haideți să analizăm această problemă mai în detaliu, altfel multe lucruri rămân neclare:
servere
Cu toții am auzit cuvântul „server”. Unii oameni se gândesc la acele supercomputere care alimentează Google sau Amazon, sau la cel din compania dumneavoastră. Dar realitatea este că un server funcționează conform unui model specific. Folosim acest termen pentru a ne referi la un program disponibil utilizatorilor ( clienților ) și care le livrează ceva. Un exemplu de bază este Apache , care este folosit pentru a servi pagini web pe internet. Acest program livrează HTML clienților care îl solicită.
Server de imagini
Dar nu numai un server poate fi pe supercalculatoarele pe care Google și multe alte companii le fac posibile, chiar și „cel mai vechi” laptop poate fi un serverul, mai ales când vorbim despre imagini. Toți conducem un serverul de imagini din laptopurile noastre pentru a putea avea un ecran funcțional, în acest caz serverul și client sunt aceeași persoană. Cel mai frecvent exemplu este X (cunoscut sub numele de xorg-server în multe distribuții) și noul său înlocuitor Wayland. Nu vom oferi o explicație detaliată a motivului pentru care organizația sau modul în care funcționează Wayland sau filosofiile care există în spatele acestor proiecte grozave, dar vom clarifica faptul că datorită lor putem avea un browser web precum Firefox sau Chrome sau multe alte programe.
Manager ferestre
Managerii de ferestre lucrează direct cu serverul de imagini. Funcția lor este la un nivel inferior, deoarece gestionează (cu intenția de a avea redundanță) modul în care ferestrele sunt create, modificate și închise. De obicei, sunt destul de simple, iar mediile desktop sunt construite pe baza lor. Lista este lungă, dar o voi lăsa așa: sunt programe software minimaliste care permit un control destul de de bază al serverului de imagini.
Mediu desktop
Un set de software mai specializat, care nu numai că permite funcționarea serverului de imagini, dar oferă și capacități de personalizare. Dintre acestea, cele mai vechi și mai grele sunt KDE și GNOME, dar avem și medii mai ușoare precum LXDE sau Mate, Cinnamon etc.
CLI (Interfață de linie de comandă)
După o scurtă recenzie a lumii serverelor de imagini, ne întoarcem acum la subiectul nostru. CLI, implică tot acel program care este executat de linia de comandă git, vim, weechat, sau bine, orice altceva îți vine în minte. Puteți vedea că vorbesc despre programe care, deși sunt executate în linia de comandă, arată un fel de „interfață grafică” precum weechat o vim. Pentru toți cei care nu le-au încercat, le recomand, sunt practic cele pe care le folosesc toată ziua.
De ce CLI este mai bun decât GUI
Hai să încercăm ceva destul de simplu Zilele trecute am vrut să lucrez la un patch pentru Portage (managerul de pachete Gentoo) . Ca orice proiect colaborativ bun, cantitatea de cod depășește 70 de linii. Încearcă să-l deschizi într-un IDE precum NinjaIDE (Portage este scris în Python) și vei observa curând că, de îndată ce ecranul începe să se încarce, calculatorul tău devine extrem de lent (cel puțin i7-ul meu a făcut-o), iar asta a fost doar o încercare de a deschide codul și de a schimba culoarea implicită de „ajutor”.
Acum încercați să faceți același lucru cu vim, m-a încărcat într-o chestiune de miimi de secundă și, în același timp, a pus culorile „drăguțe” și orice altceva.
CLI a fost cu mult înainte
Unii aici vor spune că aceste programe sunt vechi, Îi numesc robust. Dacă ați putea vedea numărul de ore investite în construcție emacs, vim, gdb, și sute de alte programe de consolă, pot observa că cantitatea de cod și funcționalitate este atât de mare încât practic au rezolvat deja tot ce aveau nevoie pentru a rezolva. Mulți GUI Pentru programele care sunt deja robuste în CLI, nu vor avea niciodată aceeași cantitate de funcționalitate, pur și simplu pentru că, dacă am crea o filă pentru fiecare subcomandă disponibilă, de exemplu git, ne-am pierde între opțiuni și ar fi contraproductiv, deoarece ar îngreuna munca.
CLI este mai rapid
Magia începe cu cheia Tab, acesta nu este doar cel mai bun prieten al tău atunci când răsfoiți desktop-urile din terminalul tău, dar atunci când este configurat corect, îți permite să scurtezi propozițiile lungi la 2 litere și o filă, 3 litere și o filă, sau chiar o literă și o Tab.
Dar acesta nu este singurul avantaj, cei dintre noi care ne-am luat timp să învățăm vim o emacs Putem spune că, deși curba de învățare este puțin mai mare decât cea a IDE-urilor din zilele noastre, în cele din urmă rezultatele productivității sunt uimitoare, nu ne putem imagina timpul care poate fi pierdut atunci când mutați un mouse. Având mâinile pe tastatură 90% din timp, nu numai că predă concentrarea, în plus, faptul de a tasta atât de mult pe tastatură te face destul de agil și productiv. Și acum ne întoarcem la punctul anterior, după ce ne-am alăturat atât de mult timp, astfel de programe au deja toate funcționalitățile la care cineva s-ar putea gândi, ne vine în minte o zicală destul de comună pentru cei dintre noi care folosim vim:
Dacă utilizați mai mult de 4 taste, este posibil să existe o modalitate mai bună.
Simplu, dar puternic, vim vă permite să faceți totul cu numărul mare de taste și combinații posibile, nu se oprește niciodată învățarea, dar este, de asemenea, adevărat că, pentru a-l utiliza, nu este necesar să le cunoașteți pe toate, aproximativ 10 sau 15 sunt suficiente pentru a începe fii mai productiv.
CLI vă oferă control complet
Când se execută operații cu mouse-ul sau programe de pe serverul de imagine, toate configurațiile suplimentare care sunt executate în momentul clicului nu sunt întotdeauna prezente, acest lucru nu se întâmplă cu terminalul, aici aveți puterea absolută a ceea ce este executat sau nu, cu ce opțiune sau în ce măsură. În timp îți dai seama că ai nevoie de mai puțin decât crezi și asta te ajută să faci lucrurile într-un mod mai concentrat.
GUI are și el propriul său lucru
Nu am de gând să spun că ar trebui să folosim CLI cu toții întotdeauna, nici acest lucru nu este ideal, eu însumi folosesc GUI aproape tot timpul, pentru a scrie această postare folosesc Chrome-ul meu și pentru a-mi vedea e-mailurile folosesc Evolution (deși folosesc și eu mutt destul de puțin în ultimul timp). Și presupun că acesta este cel mai mare mit dintre toate... că oamenii cred că GNU/Linux sunt doar terminale, îmi place mediul meu desktop, este destul de minimalist, dar îmi place așa Și de obicei am doar două sau trei programe care rulează, Chrome meu, Evolution și terminalul meu
Acestea sunt câteva dintre motivele pentru care îmi plac atât de mult CLI-uri și de ce te invit să le oferi o șansă, poate mai târziu vei ajunge ca mine să folosești mai multe CLI decât GUI-uri Cu respect