- TUI'ler, komut satırının verimliliğini menüler, iletişim kutuları ve renklerle birleştirerek gelişmiş etkileşimli terminal arayüzleri sağlar.
- Düşük güç tüketimi, hız ve tam klavye kontrolü gibi avantajlar sunarak sistem yönetimi ve uzak ortamlar için idealdirler.
- Bunlar ncurses, dialog veya blessed gibi kütüphaneler kullanılarak geliştirilir ve çoğu modern ve eski işletim sisteminde çalışır.
Kullanıcı arayüzleri son yıllarda önemli ölçüde evrim geçirerek, basit komut satırlarından simgeler ve pencerelerle dolu eksiksiz grafik arayüzlere dönüştü. Ancak, profesyonel dünyada ve verimliliğe ve eksiksiz sistem kontrolüne değer verenler için, cihazlar ve uygulamalarla etkileşim kurmak için daha doğrudan ve hafif yöntemlere hâlâ yer ve ihtiyaç bulunmaktadır. Bu yöntemler arasında, metin tabanlı kullanıcı arayüzleri olarak da bilinen TUI'ler veya Terminal Kullanıcı Arayüzleri de bulunmaktadır.
Bu makalede, TUI'ler hakkında bilmeniz gereken her şeyi, kökenleri ve evrimlerinden, diğer arayüzlerle arasındaki temel farklara, avantaj ve dezavantajlara, belirli kullanım örneklerine, kullanılan teknolojilere ve kütüphanelere ve farklı işletim sistemleri ve kullanım durumlarındaki önemlerine kadar, doğal ve anlaşılır bir dille anlatacağız. Bu arayüzlerin neden hala var olduğunu veya cihazınızla günlük işlerinizin verimliliğini nasıl artırabileceklerini merak ettiyseniz, cevabı burada bulacaksınız.
TUI gerçekte nedir?
Biz konuşurken TUI (Terminal Kullanıcı Arayüzü veya Metin Kullanıcı Arayüzü), terminal ekranının tamamını kullanarak bilgi, menüler, paneller görüntüleyen ve kullanıcının basit bir komut satırıyla mümkün olabilecekten daha görsel ve yapılandırılmış bir şekilde etkileşime girmesini sağlayan tamamen metin tabanlı bir etkileşim sistemini ifade eder. Komutları kabul edip sonuçları sıralı satırlarda görüntülemekle sınırlı olan geleneksel CLI'nin (Komut Satırı Arayüzü) aksine, TUI'ler terminal ekranının bilgileri kutular, menüler, renkler ve klavye kısayolları kullanarak düzenleme yeteneğinden yararlanır ve bir GUI'nin (Grafiksel Kullanıcı Arayüzü) görsel işlevlerine yaklaşır, ancak metinsel ortamdan vazgeçmez.
Bu sayede TUI sadece komut girmenize olanak sağlamakla kalmıyor, aynı zamanda etkileşimli menüler, iletişim kutuları, listeler ve geleneksel bir CLI'dan çok daha zengin bir kullanıcı deneyimi sağlayan her türlü öğeyi de sunuyor. Bu, terminalin gücü ve esnekliği ile daha fazla kullanılabilirlik ve görsel organizasyon arasında bir denge arayanlar için idealdir.
TUI'lerin tarihi ve evrimi
TUI'lerin kökleri, modern grafiksel arayüzlerin ortaya çıkışından çok önce, kişisel bilgisayarların ilk dönemlerine dayanmaktadır. İlk kişisel bilgisayar ve ana bilgisayar işletim sistemlerinde, etkileşim CLI aracılığıyla gerçekleştiriliyordu; komutlar bir metin satırına yazılıyor ve yanıtlar metin biçiminde veriliyordu. Zamanla, özellikle karmaşık görevleri yönetmek veya büyük miktarda bilgiyi görüntülemek için sistemle etkileşimi daha kolay ve anlaşılır hale getirme ihtiyacı doğdu.
Grafiksel kullanıcı arayüzlerinin (GUI) ortaya çıkışından önce, geliştiriciler bilgileri çerçeveler, tablolar ve ekranın belirli alanlarını kullanarak düzenlemek için terminallerin ve konsolların tam ekran yeteneklerinden yararlanmaya başladılar. İlk TUI'ler böyle doğdu ve kısa süre sonra açılır menüler, iletişim kutuları, kısayol tuşlarıyla seçenek seçimi ve ayırt edici renkler gibi unsurları bünyesine kattı. Bu dönemin klasik örnekleri arasında şunlar yer alır: Norton Komutanı (MS-DOS'ta çok popüler bir dosya yöneticisi) veya uyumluluğu ve düşük kaynak tüketimini garanti altına almak için bugün hala TUI kullanan eski Linux dağıtımlarının yükleyicileri.
GUI, CLI ve TUI arasındaki farklar
TUI'nin rolünü tam olarak anlayabilmek için onu daha iyi bilinen iki 'kardeşi' olan CLI ve GUI ile karşılaştırmakta fayda var.
- CLI (Komut Satırı Arayüzü): Komut satırı arayüzü. Burada kullanıcı metin komutları girer ve sonuçları herhangi bir özel görsel düzenleme olmadan düz metin olarak alır. Otomatik görevler, komut dosyaları ve ileri düzey kullanıcılar için idealdir; ancak komutları ve argümanları ezberlemeyi gerektirdiğinden öğrenme eğrisi dik olabilir.
- GUI (Grafik Kullanıcı Arayüzü)Grafiksel kullanıcı arayüzü. Simgeler, pencereler, düğmeler ve fare veya dokunmatik ekran kullanma olanağı sunar. Bu, özellikle kullanım kolaylığına ve erişilebilirliğe önem veren çoğu kullanıcı için en yaygın arayüz türüdür.
- TUI (Terminal Kullanıcı Arayüzü): İşte tam bu noktada makalemizin kahramanı devreye giriyor. TUI metin tabanlı bir arayüzdür, ancak bilgileri yapılandırılmış bir şekilde sunmak için tüm terminal ekranını kullanır. Genellikle menüler, paneller ve fonksiyon tuşu desteği sunarak, CLI'dan daha sezgisel gezinme ve seçim olanağı sağlarken, GUI'den çok daha düşük kaynak tüketimi sağlar.
TUI, özünde, CLI'nin verimliliği ve kontrolü ile, belli bir konfor ve organizasyonun, her ne kadar belirsiz de olsa, grafiksel arayüzlere benzeyen bir buluşma noktası olarak görülebilir.
TUI’ler neden hala kullanılıyor?
Dokunmatik ekranların ve minimalist tasarımların çağında, metin tabanlı arayüzlerin artık modasının geçtiği düşünülebilir, ancak gerçek bundan çok uzak. TUI'lerin sağlık durumu iyi ve bunun birkaç önemli nedeni var:
- Verimlilik ve hız: Mantık ve kısayollarına hakim olduğunuzda, grafiksel bir arayüzün yarattığı dikkat dağıtıcı unsurlar veya gecikmeler olmadan karmaşık görevleri çok daha hızlı bir şekilde gerçekleştirmenize olanak tanırlar.
- Düşük kaynak tüketimi: TUI'ler sunucular, eski ekipmanlar, gömülü sistemler ve uzak terminaller için mükemmeldir. İşlem gücü veya bağlantının sınırlı olduğu durumlarda kullanılırlar. Grafiksel bir ortama ihtiyaç duymazlar, bu da onları hafif ve verimli kılar.
- Erişilebilirlik ve kontrolTamamen klavye tabanlı oldukları için, fare kullanmaktan kaçınanlar veya SSH üzerinden uzaktan çalışanlar için idealdirler. Ayrıca, grafiksel bağımlılıkların olmaması riskleri ve uyumluluk sorunlarını azaltır.
- Otomasyon ve betiklemeBirçok TUI kolaylıkla kontrol edilebilir, genişletilebilir veya betiklere entegre edilebilir, böylece tekrarlayan veya otomatikleştirilmiş görevler kolaylaştırılabilir.
TUI'nin unsurları ve yapısı
İyi bir TUI, metinlerle dolu siyah bir ekrandan çok daha fazlasını sunar. Düzenleme ve etkileşim unsurları ona benzersiz bir kişilik kazandırır. En sık karşılaştığımız bileşenler arasında şunlar yer almaktadır:
- Menüler ve alt menüler: : Normalde kısayol tuşları (F1, F2 vb.) aracılığıyla erişilebilen bu tuşlar, uygulamanın farklı işlevleri veya seçenekleri arasında gezinmenizi sağlar.
- İletişim kutuları: Terminalde mesaj sunan, bilgi isteyen veya onay isteyen (örneğin 'Bu dosyayı silmek istediğinizden emin misiniz?') açılır pencereler.
- Farklılaştırılmış paneller ve alanlar: Terminal ekranını bölümlere ayırın (örneğin, solda dosya listesi, sağda ayrıntılar), böylece düzenlemeyi ve görüntülemeyi kolaylaştırın.
- Renkler ve vurgular: Birçok TUI, terminalin renkleri görüntüleme, aktif öğeleri, uyarıları veya ilgili bilgileri vurgulama yeteneğinden yararlanır.
- Klavye kısayolları ve tuş gezintisi: Kullanıcı yalnızca klavyeyi kullanarak eylemler arasında gezinebilir, seçim yapabilir, düzenleyebilir veya onaylayabilir.
- İsteğe bağlı fare desteği: Her ne kadar yaygın olmasa da bazı modern TUI'ler uyumlu cihazlarda sınırlı fare desteği entegre eder.
Popüler TUI örnekleri
TUI'ler nadir değildir ve bunları kullanan çok sayıda yerleşik ve modern uygulama vardır. Bunlardan bazı önemli örnekler şunlardır:
- Gece yarısı komutanı: Unix sistemlerinde çok popüler bir çift bölmeli dosya yöneticisidir. Terminalden dosyaları etkili bir şekilde kopyalamanıza, taşımanıza, görüntülemenize ve düzenlemenize olanak tanır.
- htop: CPU, bellek ve diğer sistem ölçümleri hakkında gerçek zamanlı bilgileri çok sezgisel ve özelleştirilebilir bir arayüzle görüntüleyen etkileşimli işlem izleyicisi.
- vaşak o w3m: Grafiksel bir ortam olmadan sunuculardan veya bilgisayarlardan web sayfalarını görüntülemek için mükemmel olan metin tabanlı web tarayıcılarıdır.
- nmtui: Linux dağıtımlarında bulunan, ağ yönetimi için kullanılan ve GUI'ye başvurmadan Wi-Fi ve Ethernet bağlantılarını yapılandırmanıza olanak tanıyan araç.
- Yapılandırıcılar ve kurulum panelleri (örneğin, Diyalog o kırbaç kuyruğu): Kurulum ve yapılandırma scriptlerinde menüleri ve seçenekleri kullanıcı dostu bir şekilde sunmak için yaygın olarak kullanılır.
TUI'lerin başlıca avantajları
Terminal kullanıcı arayüzleri, özellikle profesyonel ve teknik bağlamlarda çok sayıda avantaj sunmaktadır.
- Minimum kaynak tüketimi: Grafik sunucularına güvenmemek veya resim veya simge yüklememek sayesinde TUI'ler son derece hafiftir.Bu, onların sınırlı kaynaklara sahip ortamlarda veya yavaş uzak bağlantılarda çalışabilmelerine olanak tanır.
- Hızlı ve verimli etkileşimTUI'lerin kısayollarına ve mantığına hakim olan kullanıcılar için, komutların gezinme ve çalıştırılma hızı rakipsizdir.
- Otomasyon ve betiklemeBirçok TUI, komut dosyalarına entegre edilebilir veya harici komutlarla kontrol edilebilir; bu da karmaşık görevlerin otomatikleştirilmesini kolaylaştırır.
- Uzmanlar için daha fazla erişilebilirlik: Her ne kadar yeni başlayan kullanıcılar için erişilebilir olmasa da, terminale aşina olanlar TUI'leri kullanışlı ve özelleştirilebilir bir araç olarak görüyorlar.
- Uyumluluk ve kararlılık: Neredeyse tüm terminallerde ve konsollarda, hatta eski veya çok özelleştirilmiş işletim sistemlerinde bile çalışırlar.
TUI'lerin dezavantajları ve sınırlamaları
Her şey avantajlı değil: TUI'ler aynı zamanda akılda tutulması gereken bazı engeller ve dezavantajlar da sunuyor.
- Öğrenme Eğrisi: Saf CLI'dan daha kullanıcı dostu olmalarına rağmen, menüleri, kısayolları ve iç mantığı konusunda bilgi sahibi olmayı gerektirirler.
- Görsel sınırlamalar: Renkleri gösterebilmelerine ve metinleri kutulara ve menülere organize edebilmelerine rağmen, bir GUI'nin görsel esnekliğinden ve çekiciliğinden uzaktırlar.
- Fare desteği: : Etkileşim genellikle yalnızca klavye aracılığıyla yapılır, bazı modern istisnalar vardır.
- Multimedya görevleri için uygun değil: >Karmaşık görselleri, videoları veya gelişmiş grafikleri görüntüleyemezler.
- Teknik olmayan kullanıcılar için korkutucu olabilirler.: Tasarımları ve işleyişleri çoğu zaman 'eski moda' veya grafiksel çözümlere göre daha az sezgisel olarak algılanıyor.
TUI'leri geliştirmek için teknolojiler ve kütüphaneler
Modern, taşınabilir TUI'lerin oluşturulması çeşitli uzmanlaşmış kütüphanelere ve teknolojilere dayanmaktadır. En çok kullanılanlar arasında şunları vurgulayabiliriz:
- ncurses'in: Terminal içerisinde menüler, renkler, pencereler ve iletişim kutuları içeren düzenli arayüzler oluşturmanıza olanak tanıyan Unix/Linux sistemleri için referans kütüphanesi.
- küfürler: Ncurses'in dayandığı eski versiyon, hala bazı sistemlerde ve dillerde mevcuttur.
- Argo: Özellikle Unix ortamlarında ncurses'e bir alternatiftir. Örneğin, programın bazı varyantlarının temelini oluşturur. Kırbaç kuyruklu.
- mübarek: Modern terminal yeteneklerinden yararlanarak TUI'lerin oluşturulmasını kolaylaştıran Python için bir kütüphane.
- diyalog: Bash scriptlerinde menülerin, iletişim kutularının, listelerin ve diğer etkileşimli öğelerin oluşturulmasını kolaylaştıran uygulama ve kütüphane. Kurulum ve yapılandırma scriptlerinde yaygın olarak kullanılır.
Diğer dillerde de çerçeveler mevcuttur, bunlara şunlar dahildir: Rust y GoBlockchain platformları veya sistem izleme için bazı özel araçlar gibi gelişmiş TUI'lerin inşasına olanak sağlayan.
TUI'ler için yaygın kullanım durumları
Çok yönlülükleri ve düşük tüketimleri sayesinde TUI'ler sayısız pratik durumda kullanılır, örneğin:
- Sistemler ve sunucu yönetimi: Özellikle grafiksel olmayan ortamlarda veya SSH üzerinden erişim sağlandığında.
- Dosya yöneticileri ve izleme sistemleri:Karmaşık bilgileri basit bir şekilde analiz etmenize ve düzenlemenize olanak tanırlar.
- Sistem yapılandırması ve kurulumuBirçok yükleyici, betik ve paket yöneticisi, bir sistemin ilk kurulumu veya yapılandırması sırasında kullanıcı etkileşimini kolaylaştırmak için TUI'lere güvenir.
- Gömülü sistemler veya eski donanımlar için hafif uygulamalar:Kaynaklar çok kısıtlı olduğunda, TUI işlevsellik ve hafiflik arasında en iyi dengeyi sunar.
- Terminalde oyunlar ve eğlenceKlasik metin tabanlı oyunlardan TUI'nin görsel potansiyelinden yararlanan modern roguelike'lara kadar.
- Belirli araçların geliştirilmesi (Dash Platform TUI gibi):Bazı blok zinciri platformlarında ve geliştirme sistemlerinde, kimlikleri, sözleşmeleri veya sistem kaynaklarını yönetmek için özel TUI'ler oluşturulur.
Terminal ile dahili operasyon ve iletişim
Bir TUI sadece menülerden ve widget'lardan oluşan bir set değildir; ekranda gezinmek, kullanıcı girdisini yönetmek ve bilgileri gerçek zamanlı olarak güncellemek için terminalle etkili bir şekilde iletişim kurmalıdır.
Çoğu modern terminal, ANSI kaçış dizilerini (standart tarafından tanımlandığı gibi) destekler ANSIX3.64), Bu kütüphaneler, imleci hareket ettirmenize, renkleri değiştirmenize ve ekranı temizlemenize olanak tanır. TUI geliştirme kütüphaneleri, kullanıcı ve uygulama eylemlerini farklı platformlarda tutarlı ve hızlı bir sunum için gerekli kaçış dizilerine dönüştürmekten sorumludur.
- Yerel terminalUygulama fiziksel veya emülasyonlu bir terminalde yerel olarak çalıştırıldığında, donanımın ve işletim sisteminin tüm gelişmiş özelliklerinden yararlanabilir.
- Uzak terminal (örneğin SSH, Telnet veya seri yoluyla)İletişim biraz daha sınırlı olabilir ve hem emüle edilen terminalin hem de ağın yeteneklerine bağlı olacaktır. Ancak, mevcut TUI'lerin çoğu bu ortamlara iyi uyum sağlar.
- Modern terminal emülatörleri: Xterm, gnome-terminal gibi programlar, Windows Terminal veya Konsole, renkler, UTF-8 ve kısmi fare desteği de dahil olmak üzere karmaşık TUI'lerin gerektirdiği gelişmiş özelliklerin çoğunu destekler.
Farklı işletim sistemlerinde uyumluluk ve destek
TUI'ler modern ve eski işletim sistemlerinin büyük çoğunluğunda çalışır, ancak bazı platformlara özgü nüanslar vardır.
- Linux ve Unix benzeri sistemler (FreeBSD, OpenBSD, macOS, Solaris): TUI'lerin gerçek cennetleri bunlardır. Burada güçlü terminaller, ncurses gibi kütüphaneler ve yüzlerce yerel uygulama bulunmaktadır.
- MS-DOS ve Windows: Başlangıçta TUI'lere çok bağımlıydı (bkz. Norton Commander, QBasic veya birçok yardımcı programın etkileşimli menüleri), Windows hem geleneksel konsolda hem de mobil cihazlarda TUI desteğini sürdürüyor Windows Terminal veya aracılığıyla WSL Linux uygulamaları için. Bazı gelişmiş özellikler, belirli emülatörler veya belirli yapılandırmalar gerektirebilir.
- MacOSiTerm2 gibi modern terminaller, Unix için geliştirilen TUI'leri doğru şekilde destekler ve Vim, Emacs veya BBEdit gibi uygulamalar TUI modunda çalışabilir.
- Gömülü sistemler ve mikrodenetleyiciler: Son derece sınırlı kaynaklara sahip sistemler bile VT100 modülleri, UART veya seri bağlantılar kullanarak basit TUI'leri görüntüleyebilir.
Kendi TUI'nizi nasıl oluşturursunuz: araçlar ve ipuçları
Eğer bir TUI geliştirmekle ilgileniyorsanız, süreci kolaylaştırmak için bugün çok sayıda araç ve çerçeve mevcuttur.
- Doğru dili seçmek: Python (kutsanmış veya lanetli), C/C++ (ncurses), Rust (özel kasalarla), Go ve Perl klasik ve iyi desteklenen seçeneklerdir.
- Yerleşik kütüphaneleri kullanın: Örneğin Bash'deki ncurses ve dialog, menüleri, kutuları, formları ve panelleri nispeten kolay bir şekilde oluşturmanıza olanak tanır.
- Mevcut şablonlardan ve örneklerden yararlanınİhtiyaçlarınıza göre uyarlayabileceğiniz eksiksiz örnekler sunan birçok araç ve kütüphane bulunmaktadır.
- Erişilebilirlik ve kullanılabilirliği düşünün:TUI kullanıcıları çoğu zaman uzman olsa da, anlaşılır menüler, mantıklı kısayollar ve bilgilendirici mesajlar tasarlamak önemlidir.
- Ekran temizliğini ve hata kontrolünü unutmayın.Dağınık bir TUI veya hataları bildirmeyen bir TUI çok sinir bozucu olabilir.
TUI'lerin günümüzdeki rolü
Grafiksel arayüz çağında yaşamamıza rağmen TUI'ler çok çeşitli bağlamlarda pratik faydalarını göstermeye devam ediyor. Sistem yöneticileri, ileri düzey Linux kullanıcıları ve geliştiriciler, verimlilikleri, düşük güç tüketimleri ve otomatik veya uzaktan görevlere kolay entegrasyonları nedeniyle bunları her gün tercih ediyor. TUI'ler yalnızca geçmişin bir mirası değil; aynı zamanda modern ihtiyaçlara da uyum sağlamaya devam ediyor: Blok zincirlerini yönetmek, bulut platformlarını kontrol etmek, sistemleri gerçek zamanlı izlemek veya hatta dosyaları, e-postaları ve kişisel bilgileri yönetmek için alternatif bir kabuk olarak kullanmak için TUI'ler mevcut.
Hız, kontrol ve sadeliğe değer veren terminaller ve profesyoneller var olduğu sürece, terminal ve TUI arayüzlerine dayanan uygulamalar ve araçlar da var olacaktır. Birçok kişinin inandığının aksine, bunlar yalnızca hayatta kalmakla kalmıyor, aynı zamanda sürekli gelişiyor ve uyum sağlıyor. Bir dahaki sefere metin menüleri ve renk seçenekleri olan bir ekran gördüğünüzde iki kere düşünün: bunun arkasında sisteminizdeki en güçlü araçlardan biri olabilir.

Endüstriyel ve ev kullanımı için yazılım, geliştirme ve uygulama uzmanlarıyız. Piyasadaki tüm yazılım, program, uygulama, araç ve işletim sistemlerinin tüm potansiyelinden yararlanmayı seviyoruz.
