Pregledavajući druge članke naišao sam na ovo malo pitanje koje mi je izazvalo veliku zabavu, istina je da je jedna od prvih stvari koju korisnici drugih sustava (osim FreeBSD-a) nailaze na to da ne koristimo GUI-je. Istinu govoreći, na početku mog GNU / Linux putovanja činilo mi se i prilično znatiželjnim. Moram priznati da s vremenom sada koristim naredbeni redak mnogo više od bilo kojeg drugog programa s GUI-jem, i mnogo puta više volim programe naredbenog retka od složenijih programa s blistavim GUI-jevima.
Mit
Zapravo, ovo nije ništa više od urbanog mita, jer za razliku od drugih sustava čija imena ovdje neće biti spomenuta, upravo u GNU/Linuxu zaista imate slobodu izbora. Volio bih da i drugi sustavi nude svestranost koja postoji ovdje. Ali pogledajmo ovo pitanje detaljnije, inače mnoge stvari ostaju nejasne:
poslužitelji
Svi smo čuli riječ "poslužitelj". Neki ljudi pomisle na ona superračunala koja pokreću Google ili Amazon, ili ono u vašoj tvrtki. Ali stvarnost je da poslužitelj radi prema određenom modelu. Ovaj termin koristimo za program koji je dostupan korisnicima ( klijentima ) i isporučuje im nešto. Osnovni primjer je Apache , koji se koristi za posluživanje web stranica na internetu. Ovaj program isporučuje HTML klijentima koji ga zatraže.
Poslužitelj slika
Ali ne samo da poslužitelj može biti u super računalima koja Google i mnoge druge tvrtke omogućavaju, čak i "najstariji" laptop može biti server, pogotovo kada govorimo o slikama. Svi vodimo a server slika na našim prijenosnim računalima kako bi imali funkcionalan zaslon, u ovom slučaju server i kupac ista su osoba. Najčešći primjer je X (poznato kao xorg-server u mnogim distribucijama) i njegova nova zamjena Wayland. Nećemo dati detaljno objašnjenje zašto organizacija, niti kako Wayland djeluje, niti filozofije koje stoje iza ovih sjajnih projekata, ali jasno ćemo dati do znanja da upravo zahvaljujući njima možemo imati web preglednik poput Firefoxa ili Chromea ili mnogih drugih programa.
Upravitelj prozora
Upravitelji prozora rade izravno s poslužiteljem slika. Njihova je funkcija na nižoj razini, jer upravljaju (namjerno redundantno) načinom na koji se prozori stvaraju, mijenjaju i zatvaraju. Obično su prilično jednostavni, a na njima su izgrađena desktop okruženja. Popis je dug, ali ostavit ću ga na tome: to su minimalistički softverski programi koji omogućuju prilično osnovnu kontrolu nad poslužiteljem slika.
Radno okruženje
Specijaliziraniji skup softvera koji omogućuje ne samo rad poslužitelja slika, već također pruža mogućnosti prilagodbe. Među njima su najstariji i najteži KDE i GNOME, ali imamo i lakša okruženja kao što su LXDE ili Mate, cimet itd.
CLI (sučelje naredbenog retka)
Nakon kratkog uvida u svijet poslužitelja slika, sada se opet okrećemo našoj temi. CLI, podrazumijeva bilo koji program koji se izvršava naredbenim retkom git, vim, weechat, ili dobro, što god vam drugo padne na pamet. Možete vidjeti da govorim o programima koji, iako se izvršavaju u naredbenom retku, pokazuju svojevrsno "grafičko sučelje" poput weechat o vim. Za sve one koji ih nisu probali, preporučujem ih, oni su u osnovi oni koje koristim cijeli dan.
Zašto je CLI bolji od GUI-a
Pokušajmo nešto sasvim jednostavno Nedavno sam htio raditi na zakrpi za Portage (Gentooov upravitelj paketa) . Kao i svaki dobar kolaborativni projekt, količina koda prelazi 70 tisuća redaka. Pokušajte to otvoriti u IDE-u poput NinjaIDE-a (Portage je napisan u Pythonu) i uskoro ćete primijetiti da čim se ekran počne učitavati, vaše računalo postaje izuzetno sporo (barem je moj i7 to učinio), a ovo je bio samo pokušaj otvaranja koda i promjene zadane boje "pomoći".
Sada pokušajte učiniti isto s vim, učitao me u nekoliko milisekundi, a istovremeno je stavio "lijepe" boje i sve ostalo.
CLI je bio puno prije
Neki će ovdje reći da su ti programi stari, Zovem ih robustan. Kad biste mogli vidjeti broj sati uloženih u izgradnju emacs, vim, gdbi stotine drugih konzolnih programa, mogli biste primijetiti da je količina koda i funkcionalnosti toliko velika da su praktički već riješili sve što su trebali. Puno GUI za programe koji su već robusni u svom CLI-u, oni nikada neće imati jednaku količinu funkcionalnosti, to jednostavno zato što bismo, na primjer, ako smo napravili karticu za svaku dostupnu podnaredbu git, izgubili bismo se između opcija i to bi bilo kontraproduktivno, jer bi otežavalo rad.
CLI je brži
Magija započinje s ključem Tab, ovo nije samo vaš najbolji prijatelj prilikom pregledavanja radne površine u vašem terminalu, već kada je pravilno konfiguriran, omogućuje vam skraćivanje dugih rečenica na 2 slova i Tab, 3 slova i Tab, ili čak slovo i Tab .
Ali to nije jedina prednost, onih koji smo odvojili vrijeme za učenje vim o emacs Možemo reći da iako je krivulja učenja malo viša od one u IDE-ima ovih dana, na kraju su rezultati produktivnosti nevjerojatni, ne može se zamisliti vrijeme koje se može izgubiti pomicanjem miša. Držanje ruku na tipkovnici u 90% slučajeva ne samo da uči koncentraciji, osim toga, činjenica da toliko tipkate po tipkovnici čini vas prilično okretnim i produktivnim. I sada se vraćamo na prethodnu točku, budući da smo bili s nama toliko dugo, programi poput ovih već imaju sve funkcionalnosti kojih bi se netko mogao sjetiti, pada mi na pamet prilično uobičajena izreka za one koji koristimo vim:
Ako koristite više od 4 tipke, možda postoji bolji način.
Jednostavan, ali moćan, vim vam omogućuje da radite sve s velikim brojem tipki i mogućim kombinacijama, nikad se ne prestaje učiti, ali istina je i da ga nije potrebno poznavati, otprilike 10 ili 15 su dovoljno za početak biti produktivniji.
CLI vam daje potpunu kontrolu
Kada netko izvršava operacije mišem ili programe s poslužitelja slika, sve dodatne konfiguracije koje se izvršavaju u trenutku klika nisu uvijek prisutne, to se ne događa s terminalom, ovdje imate apsolutnu snagu onoga izvršava se ili ne, s kojom opcijom ili u kojoj mjeri. Vremenom shvatite da vam treba manje nego što mislite, a to vam pomaže da stvari radite usmjerenije.
I GUI ima svoje
Neću reći da bismo svi trebali uvijek koristiti CLI, ni to nije idealno, i sam gotovo cijelo vrijeme koristim GUI-je, da bih napisao ovaj post koristeći svoj Chrome i da bih vidio svoje e-adrese koje koristim Evolution (iako također koristiti mutt dosta u zadnje vrijeme). I pretpostavljam da je ovo najveći mit od svih... da ljudi misle da su GNU/Linux samo terminali, sviđa mi se moje desktop okruženje, prilično je minimalističko, ali sviđa mi se tako I obično imam samo dva ili tri pokrenuti programi, moj Chrome, moj Evolution i moj terminal
Ovo su neki od razloga zašto toliko volim CLI-ove i zašto vas pozivam da im date priliku, možda ćete kasnije kao ja završiti s više CLI-jeva nego GUI-ja Pozdrav