Eski okul GUI'leri nasıl yapılır (debian / arch installer gibi)


13

Son zamanlarda birçok yükleme yapıyorum ve mümkünse genellikle Canlı CD'nin GRUB menüsünden metin yüklemesini tercih ediyorum. Çoğu montajcı şöyle görünür:

resim açıklamasını buraya girin

Her zaman bu GUI'lerin (onları böyle diyebilirseniz) gerçekten harika ve hafif olduğunu düşündüm. Birçok uygulama / dağıtımın bunları kullandığını görmek, paylaşılan bir kütüphane ya da başka bir şey olmalı mı? Böyle şeyler yapabilmemin bir yolu var mı?


Linux & bsd için sysinstaller'ların çoğunun, Tamam ve İptal düğmeleri ile ilgili lanetler kullanarak korkunç kullanıcı arayüzü sunumu olduğuna dikkat edilmelidir: kullanıcı bunları vurguladığında nadiren nettir. Lanetlerle uygulama yaparken bu kurulumcuları tasarım örneği olarak kullanmamak en iyisidir; ANSI grafik GUI'lerinin kullanıcı arayüzü açısından ne kadar iyi çalışması gerektiği konusunda Lotus 123 gibi eski DOS programlarını gözden geçirmek için geri dönün. Şöyle bir şeydir: [Tamam] kullanıcı tarafından seçilene kadar açık renklidir, ancak vurgulanmaz.
Jonathan Cline IEEE

Yanıtlar:



14

Arch ve Debian hakkında bir bilgim yok, ama çoğu zaman bu GUI'lerle birlikte yapılıyor dialog(1), bu da bir grup komut satırı argümanı alıyor ve sonra bir diyalog oluşturuyor ncurses. Örneğin, Linux çekirdeği menuconfig şuna benzer:

Menuconfig ekran görüntüsü

Örnek bir dialogkullanım:

$ dialog --title "Hello" --infobox "Hello there Unix and Linux Stack Exchange" 20 100

Sonuç:

İletişim kutusunun ekran görüntüsü (1)


Bu saf harika, bu yüzden iletişim terminaline çizmek için ncurses kullanıyor? Bundan daha kolay olamazdı. Teşekkürler
n0pe

8

Daha yüksek bir seviyede, tam olarak buna benzeyenler genellikle newt / whiptail veya diyalog gibi bir şey kullanırlar . İletişim kutusu, bu liste kutusu gibi denetimlerin etrafına bir çerçeve çizme eğiliminde olduğundan, bu özellik newt / whiptail gibi görünüyor. Başka bir örnek için, linux çekirdek yapılandırması iletişim kutusunun özel bir sürümünü kullanır (kullanmadığı ekstra özellikler olmadan ve evet / hayır / modül onay kutusunun özel bir özellik olduğunu düşünürüm)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.