Преглеждайки други статии, попаднах на този малък въпрос, който ми създаде много забавление, вярно е, че едно от първите неща, които потребителите на други системи (с изключение на FreeBSD) получават в лицето ни, е, че не използваме GUI. Честно казано, също ми се стори доста любопитно в началото на пътуването ми с GNU / Linux. Трябва да призная, че с течение на времето сега използвам командния ред много повече от която и да е друга програма с GUI и много пъти предпочитам програми от командния ред пред по-сложни програми с ослепителни GUI.
Митът
Всъщност това не е нищо повече от градски мит, защото за разлика от други системи, чиито имена няма да бъдат споменати тук, той е в GNU / Linux, където наистина имате свобода по избор. Иска ми се, че в други системи имаше гъвкавостта, която съществува тук. Но нека разгледаме по-отблизо този въпрос, иначе много неща не са ясни:
сървъри
Всички сме чували думата Сървър, някои вярват, че това са онези супер компютри, които захранват Google или Amazon, или този във вашата компания. Но реалността е, че а сървър отговори на a модел на работа. Използваме този термин за обозначаване на факта, че имаме програма, достъпна за потребителите (клиенти) и им подава нещо. Основен пример е Apache, който се използва за служа уеб страници в интернет. Тази програма доставя html към клиенти които го искат.
Сървър за изображения
Но не само сървърът може да бъде на супер компютрите, които Google и много други компании правят възможно, дори и "най-старият" лаптоп може да бъде сървъра, особено когато говорим за изображения. Всички управляваме a сървъра на изображенията в нашите лаптопи, за да може да има функционален екран, в случая сървъра и клиент те са един и същ човек. Най-често срещаният пример е X (известен като xorg-server в много дистрибуции) и новата му подмяна Wayland. Няма да даваме подробно обяснение защо организацията, или как работи Wayland, или философиите, които съществуват зад тези велики проекти, но ще изясним, че благодарение на тях можем да разчитаме на мрежата браузър като Firefox или Chrome, или много други програми.
Мениджър на прозорци
Мениджърите на прозорци работят директно със сървъра за изображения, тяхната работа е на "по-ниско" ниво, тъй като те управляват (простете излишъка) как прозорците се създават, модифицират, затварят. Обикновено те са доста прости и десктоп средите са изградени върху тях. Списъкът е голям, но тук ще оставя само идеята, че те са минималистичен софтуер, които позволяват да има доста основен контрол на сървъра за изображения.
Работна среда
По-специализиран набор от софтуер, който позволява не само работа със сървър за изображения, но също така предоставя възможности за персонализиране. Сред тях най-старите и най-тежките са KDE и GNOME, но имаме и по-леки среди като LXDE или Mate, Cinnamon и т.н.
CLI (интерфейс на командния ред)
След кратък поглед върху света на сървърите на изображения, сега отново се обръщаме към нашата тема. CLI, предполага цялата онази програма, която се изпълнява чрез команден ред git, vim, weechat, или добре, каквото друго ви хрумне. Виждате, че говоря за програми, които, макар че се изпълняват в командния ред, показват един вид „графичен интерфейс“ като weechat o vim. За всички, които не са ги пробвали, ги препоръчвам, те са основно тези, които използвам през целия ден.
Защо CLI е по-добър от GUI
Нека опитаме нещо доста просто Онзи ден исках да работя върху корекция за Portage (мениджър на пакети на Gentoo). Както всеки добър съвместен проект, броят на редовете код надвишава 70 7. Опитайте се да го отворите в IDE като NinjaIDE (Portage е написан на Python) и скоро ще забележите, че когато екранът започне да се зарежда, вашата машина става изключително бавна (поне моят iXNUMX) и това просто се опитва да отворете кода и променете цвета по подразбиране на «помощ».
Сега се опитайте да направите същото с vim, той ме зареди за броени милисекунди и в същото време сложи "хубавите" цветове и всичко останало.
CLI е много преди
Някои тук ще кажат, че тези програми са Antiguos, Викам им здрав. Ако можете да видите броя на часовете, вложени в изграждането emacs, vim, gdb, и стотици други конзолни програми, може да забележите, че количеството код и функционалности е толкова голямо, че на практика вече са решили всичко, което е трябвало да решат. Много GUI за програми, които вече са стабилни в своя CLI, те никога няма да имат еднакво количество функционалност, това просто защото, ако направихме раздел за всяка налична подкоманда, например git, щяхме да се загубим между опциите и това би било контрапродуктивно, защото би затруднило работата.
CLI е по-бърз
Магията започва с ключа Tab, това е не само най-добрият ви приятел, когато разглеждате работните плотове във вашия терминал, но когато е правилно конфигуриран, ви позволява да съкратите дългите изречения до 2 букви и Tab, 3 букви и Tab, или дори буква и Tab .
Но това не е единственото предимство, тези от нас, които отделиха време да се научат vim o emacs Можем да кажем, че въпреки че кривата на обучение е малко по-висока от тази на IDE в наши дни, в крайна сметка резултатите от производителността са невероятни, не може да си представим времето, което може да бъде загубено при движение на мишката. Набирането на ръцете на клавиатурата в 90% от случаите не само учи на концентрация, освен това фактът, че пишете толкова много на клавиатурата, ви прави доста пъргави и продуктивни. И сега се връщаме към предишната точка, след като бяхме с нас толкова дълго, програми като тези вече имат всички функционалности, за които някой би могъл да се сети, доста често срещана поговорка за тези от нас, които използваме vim, идва на ум:
Ако използвате повече от 4 клавиша, може да има по-добър начин.
Прост, но мощен, vim ви позволява да правите всичко с големия брой клавиши и възможни комбинации, човек никога не спира да учи, но също така е вярно, че за да можете да го използвате не е необходимо да ги знаете всички, около 10 или 15 са достатъчни, за да започнете бъдете по-продуктивни.
CLI ви дава пълен контрол
Когато човек изпълнява операции с мишката или програми от сървъра за изображения, всички допълнителни конфигурации, които се изпълняват в момента на щракване, не винаги присъстват, това не се случва с терминала, тук имате абсолютната мощност на това, което изпълнява се или не, с каква опция или до каква степен. С течение на времето осъзнавате, че имате нужда от по-малко, отколкото си мислите, и това ви помага да правите нещата по-целенасочено.
GUI също има нещо свое
Няма да казвам, че всички трябва винаги да използваме CLI, това също не е идеално, аз самият използвам GUI почти през цялото време, за да напиша тази публикация използвам своя Chrome и за да видя имейлите си, използвам Evolution (въпреки че използвам и mutt доста напоследък). И предполагам, че това е най-големият мит от всички... че хората смятат, че GNU/Linux са само терминали, харесвам моята работна среда, тя е доста минималистична, но ми харесва така И обикновено имам само две или три работещи програми, моя Chrome, моята Evolution и моя терминал
Това са някои от причините, поради които харесвам CLI толкова много и защо ви каня да им дадете шанс, може би по-късно ще свършите като мен, като използвате повече CLI, отколкото GUI Поздрави