Rivedendo altri articoli mi sono imbattuto in questa piccola domanda che mi ha fatto molto divertire, è vero che una delle prime cose che gli utenti di altri sistemi (eccetto FreeBSD) si mettono in faccia è che non usiamo GUI. A dire il vero, l'ho trovato anche piuttosto curioso all'inizio del mio viaggio GNU / Linux. Devo ammettere che nel tempo, ora uso la riga di comando molto più di qualsiasi altro programma GUI e molte volte preferisco i programmi a riga di comando a programmi più elaborati con GUI abbaglianti.
Il mito
In realtà questo non è altro che un mito urbano, perché a differenza di altri sistemi i cui nomi non saranno menzionati qui, è in GNU / Linux che hai davvero libertad di scelta. Vorrei che in altri sistemi ci fosse la versatilità che esiste qui. Ma diamo un'occhiata più da vicino a questo argomento, altrimenti molte cose non sono chiare:
Servidores
Abbiamo tutti sentito la parola Server, alcuni credono che siano quei super computer che alimentano Google o Amazon, o quello della tua azienda. Ma la realtà è che a server rispondere a a modello di lavoro. Usiamo questo termine per riferirci al fatto che abbiamo un programma disponibile per gli utenti (clienti) e porge loro qualcosa. Un esempio di base è Apache, che viene utilizzato per servire pagine web su Internet. Questo programma fornisce html a clienti che lo richiedono.
Server di immagini
Ma non solo un server può essere nei super computer che Google e molte altre società rendono possibili, anche il laptop "più vecchio" può essere un server, soprattutto quando parliamo di immagini. Gestiamo tutti un file server di immagini nei nostri laptop per avere uno schermo funzionale, in questo caso il server e il cliente sono la stessa persona. L'esempio più comune è X (conosciuto come xorg-server in molte distribuzioni) e la sua nuova sostituzione Wayland. Non daremo una spiegazione dettagliata del perché l'org, o come funziona Wayland, o le filosofie che esistono dietro questi grandi progetti, ma metteremo in chiaro che è grazie a loro che possiamo avere un browser web come Firefox o Chrome o molti altri programmi.
Window manager
I window manager lavorano direttamente con il server delle immagini, il loro lavoro è di livello "inferiore", poiché gestiscono (perdonate la ridondanza) come le finestre vengono create, modificate, chiuse. Di solito sono abbastanza semplici e gli ambienti desktop sono costruiti su questi. L'elenco è ampio, ma lascio qui solo l'idea che lo siano software minimalisti, che ti consentono di avere un controllo abbastanza semplice del server di immagini.
Ambiente desktop
Un set di software più specializzato che consente non solo il funzionamento del server di immagini, ma fornisce anche funzionalità di personalizzazione. Tra questi, i più vecchi e pesanti sono KDE e GNOME, ma abbiamo anche ambienti più leggeri come LXDE o Mate, Cinnamon, ecc.
CLI (interfaccia della riga di comando)
Dopo una breve occhiata al mondo dei server di immagini, torniamo ora al nostro argomento. CLI, implica anche qualsiasi programma eseguito dalla riga di comando git, vim, weechat, o beh, qualunque altra cosa ti venga in mente. Puoi vedere che sto parlando di programmi che, sebbene siano eseguiti dalla riga di comando, mostrano una sorta di "interfaccia grafica" come weechat o vim. A tutti coloro che non li hanno provati, li consiglio, sono praticamente quelli che uso tutto il giorno.
Perché la CLI è migliore della GUI
Proviamo qualcosa di piuttosto semplice L'altro giorno volevo lavorare su una patch per Portage (il gestore di pacchetti di Gentoo). Come ogni buon progetto collaborativo, il numero di righe di codice supera i 70k. Prova ad aprirlo in un IDE come NinjaIDE (Portage è scritto in Python) e noterai presto che quando lo schermo inizia a caricarsi, la tua macchina diventa estremamente lenta (almeno il mio i7 lo ha fatto) e questo sta solo cercando di aprire il codice e cambia al colore predefinito di «aiuto».
Ora prova a fare lo stesso con vimMi ha caricato in pochi millisecondi, e allo stesso tempo ha messo i colori "belli" e tutto il resto.
CLI è stato molto prima
Alcuni qui diranno che quei programmi lo sono antiguos, Li chiamo robusto. Se potessi vedere il numero di ore investite nella costruzione emacs, vim, gdb, e centinaia di altri programmi per console, potrebbero notare che la quantità di codice e funzionalità è così grande che hanno praticamente già risolto tutto ciò di cui avevano bisogno per risolvere. Molti GUI per i programmi che sono già robusti nella loro CLI non avranno mai la stessa quantità di funzionalità, questo semplicemente perché se abbiamo creato una scheda per ogni sottocomando disponibile, ad esempio git, ci perderemmo tra le opzioni e sarebbe controproducente, perché renderebbe difficile il lavoro.
CLI è più veloce
La magia inizia con la chiave Tab, questo non è solo il tuo migliore amico quando navighi sui desktop nel tuo terminale, ma quando è configurato correttamente, ti consente di abbreviare frasi lunghe a 2 lettere e una Tab, 3 lettere e una Tab, o anche una lettera e una Tab .
Ma questo non è l'unico vantaggio, quelli di noi che hanno avuto il tempo di imparare vim o emacs Possiamo dire che sebbene la curva di apprendimento sia un po 'più alta di quella degli IDE di questi tempi, alla fine i risultati di produttività sono sorprendenti, non si può immaginare il tempo che si può perdere muovendo il mouse. Avere le mani sulla tastiera il 90% delle volte non solo insegna la concentrazione, inoltre, il fatto di digitare così tanto sulla tastiera ti rende abbastanza agile e produttivo. E ora torniamo al punto precedente, essendo stati con noi per così tanto tempo, programmi come questi hanno già tutte le funzionalità a cui qualcuno potrebbe pensare, viene in mente un detto abbastanza comune per quelli di noi che usano vim:
Se usi più di 4 chiavi, potrebbe esserci un modo migliore.
Semplice ma potente, vim ti permette di fare tutto con il gran numero di tasti e combinazioni possibili, non si smette mai di imparare, ma è anche vero che per usarlo non è necessario conoscerli tutti, circa 10 o 15 sono abbastanza per iniziare ad essere più produttivi.
CLI ti dà il controllo completo
Quando si eseguono operazioni con il mouse, o programmi da image server, tutte le configurazioni extra che vengono eseguite al momento del clic non sono sempre presenti, questo non avviene con il terminale, qui si ha il potere assoluto di quello che è eseguito o meno, con quale opzione o in che misura. Col tempo ti rendi conto che hai bisogno di meno di quanto pensi e questo ti aiuta a fare le cose in modo più concentrato.
Anche la GUI ha le sue cose
Non dirò che dovremmo tutti usare sempre la CLI, neanche questo è l'ideale, io stesso uso le GUI quasi sempre, per scrivere questo post sto usando il mio Chrome e per vedere le mie e-mail utilizzo Evolution (sebbene Uso anche mutt parecchio ultimamente). E suppongo che questo sia il mito più grande di tutti... che la gente pensi che GNU/Linux siano solo terminali, mi piace il mio ambiente desktop, è piuttosto minimalista, ma mi piace così E di solito ne ho solo due o tre programmi in esecuzione, il mio Chrome, il mio Evolution e il mio terminale
Questi sono alcuni dei motivi per cui mi piacciono così tanto le CLI e perché ti invito a dargli una possibilità, forse più tardi finirai per usare più CLI che GUI Saluti