Neden GUI'lere komut satırını tercih ediyoruz?

Diğer makaleleri gözden geçirirken karşılaştığım bu küçük soru beni çok eğlendirdi, diğer sistemlerin kullanıcılarının (FreeBSD hariç) karşımıza çıkardığı ilk şeylerden birinin GUI'leri kullanmamamız olduğu doğrudur. Gerçeği söylemek gerekirse, GNU / Linux yolculuğumun başlangıcında da bana oldukça meraklı geldi. İtiraf etmeliyim ki, zamanla artık komut satırını diğer herhangi bir GUI programından çok daha fazla kullanıyorum ve çoğu zaman komut satırı programlarını göz kamaştırıcı GUI'lere sahip daha ayrıntılı programlara tercih ediyorum.

Efsane

Aslında bu bir şehir efsanesinden başka bir şey değildir, çünkü burada isimleri anılmayacak olan diğer sistemlerin aksine, gerçekten sahip olduğunuz yer GNU / Linux'tadır. özgürlük seçim. Diğer sistemlerde burada var olan çok yönlülüğün olmasını dilerdim. Ancak bu konuya daha yakından bakalım, aksi takdirde pek çok şey net değildir:

Sunucular

Hepimiz kelimeyi duyduk Sunucu, bazıları bunların Google'a veya Amazon'a veya şirketinizdeki süper bilgisayarlar olduğuna inanıyor. Ama gerçek şu ki bir Sunucu cevap vermek iş modeli. Bu terimi, kullanıcıların kullanımına açık bir programımız olduğu gerçeğini belirtmek için kullanıyoruz (müşteriler) ve onlara bir şey verir. Temel bir örnek Apacheiçin kullanılan hizmet etmek İnternetteki web sayfaları. Bu program html'yi müşteriler bunu talep ediyor.

Görüntü sunucusu

Ancak Google'ın ve diğer birçok şirketin mümkün kıldığı süper bilgisayarlarda yalnızca bir sunucu olamaz, "en eski" dizüstü bilgisayar bile bir sunucuözellikle görseller hakkında konuştuğumuzda. Hepimiz koşuyoruz sunucu işlevsel bir ekrana sahip olmak için dizüstü bilgisayarlarımızdaki görüntülerin sayısı, bu durumda sunucu y el müşteri onlar aynı kişidir. En yaygın örnek X (olarak bilinir xorg-server birçok dağıtımda) ve yeni ikamesi Wayland. Kuruluşun neden veya Wayland'in nasıl çalıştığı veya bu büyük projelerin arkasında yatan felsefeler hakkında ayrıntılı bir açıklama yapmayacağız, ancak onlar sayesinde bir web tarayıcısına sahip olabileceğimizi açıkça belirteceğiz. Firefox veya Chrome gibi veya diğer birçok program.

Pencere yöneticisi

Pencere yöneticileri doğrudan görüntü sunucusuyla çalışırlar, işleri "daha düşük" düzeydedir, çünkü pencerelerin nasıl oluşturulacağını, değiştirileceğini, kapatılacağını yönetirler (artıklığı affederler). Genellikle oldukça basittirler ve masaüstü ortamları bunlar üzerine inşa edilmiştir. Liste büyük, ancak burada sadece onların minimalist yazılımlar, görüntü sunucusu üzerinde oldukça temel bir kontrole sahip olmaya izin verir.

Masaüstü ortamı

Yalnızca görüntü sunucusu çalışmasını değil, aynı zamanda özelleştirme yetenekleri de sağlayan daha özel bir yazılım seti. Bunların arasında en eski ve en ağır olanları KDE ve GNOME'dur, ancak LXDE veya Mate, Tarçın vb. Gibi daha hafif ortamlarımız da var.

CLI (Komut Satırı Arayüzü)

Görüntü sunucuları dünyasına kısa bir baktıktan sonra, şimdi tekrar konumuza dönüyoruz. CLI, komut satırı tarafından çalıştırılan tüm programları ima eder. git, vim, weechatveya aklına başka ne geliyorsa. Komut satırında çalıştırılmalarına rağmen, bir tür "grafik arayüz" gösteren programlardan bahsettiğimi görebilirsiniz. weechat o vim. Denemeyenler için tavsiye ederim, temelde bütün gün kullandım.

CLI neden GUI'den daha iyidir

Oldukça basit bir şey deneyelim  Geçen gün bir yama üzerinde çalışmak istedim. Portage (Gentoo'nun paket yöneticisi). Herhangi bir iyi ortak proje gibi, kod satırı sayısı 70'i aşıyor. Bunu NinjaIDE gibi bir IDE'de açmaya çalışın (Portage Python'da yazılmıştır) ve kısa süre sonra, ekran yüklenmeye başladığında makinenizin aşırı derecede yavaşladığını (en azından benim i7'mde yaptığını) fark edeceksiniz ve bu sadece kodu açmaya çalışıyor ve "yardım" ın varsayılan rengine değiştirin.

Şimdi aynısını yapmayı dene vim, beni birkaç milisaniye içinde yükledi ve aynı zamanda "güzel" renkleri ve diğer her şeyi koydu.

CLI çok önceden

Bazıları bu programların eski, Ben ararım onları güçlü. İnşaat için harcanan saatlerin sayısını görebilseydiniz emacs, vim, gdbve diğer yüzlerce konsol programı, kod miktarının ve işlevselliğin o kadar büyük olduğunu ve çözmek için ihtiyaç duydukları her şeyi pratik olarak çözdüklerini fark edebilir. Birçok GUI CLI'lerinde zaten sağlam olan programlar için hiçbir zaman aynı işlevselliğe sahip olmayacaklar, bunun nedeni örneğin mevcut her alt komut için bir sekme oluşturduğumuzda gitseçenekler arasında kendimizi kaybederiz ve ters etki yapar çünkü çalışmayı zorlaştırır.

CLI daha hızlı

Sihir anahtarla başlar Tab, bu sadece terminalinizdeki masaüstüne göz atarken en iyi arkadaşınız değil, aynı zamanda uygun şekilde yapılandırıldığında, uzun cümleleri 2 harf ve bir Sekme, 3 harf ve bir Sekme veya hatta bir harf ve bir Sekme olarak kısaltmanıza olanak tanır .

Ancak bu, öğrenmek için zaman ayırmış olanların tek avantajı değil vim o emacs Bugünlerde öğrenme eğrisi IDE'lerden biraz daha yüksek olmasına rağmen, sonuçta üretkenlik sonuçları şaşırtıcı, bir fareyi hareket ettirirken kaybedilebilecek zamanı hayal bile edemeyebiliriz. Ellerinizi klavyenin% 90'ında tutmak yalnızca konsantrasyonu öğretmekle kalmaz, aynı zamanda klavyede bu kadar çok yazma gerçeği sizi oldukça çevik ve üretken kılar. Ve şimdi bir önceki noktaya dönüyoruz, uzun zamandır bizimle birlikte olduğumuz için, bunun gibi programlar zaten birisinin düşünebileceği tüm işlevlere sahip, vim kullanan bizler için oldukça yaygın bir söz akla geliyor:

4'ten fazla anahtar kullanırsanız, daha iyi bir yol olabilir.

Basit ama güçlü vim, her şeyi çok sayıda anahtar ve olası kombinasyonlarla yapmanıza izin verir, kimse öğrenmeyi asla bırakmaz, ancak onu kullanabilmek için hepsini bilmenin gerekli olmadığı da doğrudur, yaklaşık 10 veya 15 daha üretken olmaya başlamak için yeterlidir.

CLI size tam kontrol sağlar

Fare ile işlemler veya görüntü sunucusundan programlar yürütüldüğünde, tıklandığında yürütülen tüm ekstra konfigürasyonlar her zaman mevcut değildir, bu terminalde olmaz, burada neyin yürütüldüğünün mutlak gücüne sahipsiniz , hangi seçenekle veya ne ölçüde. Zamanla düşündüğünüzden daha azına ihtiyacınız olduğunu fark edersiniz ve bu, işleri daha odaklı bir şekilde yapmanıza yardımcı olur.

GUI'nin de kendi özelliği var

Hepimizin her zaman CLI kullanması gerektiğini söylemeyeceğim, bu da ideal değil, kendim neredeyse her zaman GUI'leri kullanıyorum, bu yazıyı yazmak için Chrome'umu kullanıyorum ve e-postalarımı görmek için Evolution kullanıyorum (ancak Ben de kullanıyorum mutt son zamanlarda biraz). Ve sanırım bu en büyük efsane... insanlar GNU/Linux'un sadece terminal olduğunu düşünüyor, masaüstü ortamımı seviyorum, oldukça minimalist ama bu şekilde seviyorum  Ve genellikle sadece iki veya üç tane var çalışan programlar, Chrome'um, Evolution'ım ve terminalim 

CLI'leri bu kadar sevmemin ve sizi onlara bir şans vermeye davet etmemin nedenlerinden bazıları bunlar, belki ileride siz de benim gibi GUI'lerden daha fazla CLI kullanırsınız  Saygılar


Google'da tercih edilen kaynak olarak ekleyin.