Linux terminal emülatörleri neden tam renkleri desteklemiyor?


12

Gnome terminalimi 256 renk kullanacak şekilde yeni sürüme geçirdim, ancak bir terminal emülatörünün herhangi bir modern masaüstü ortamının sağladığı tam paleti neden destekleyemediğine biraz şaşırıyorum. Sanırım bunun teknik bir nedeni var, ama bunun farkında değilim.


2
"Terminal" biraz belirsiz ... Pek çok Linux / Unix sisteminde F1'den F6'ya kadar bulunan " sanal terminaller" ("VT'ler") hakkında mı konuşuyorsunuz , X altında kullandığınız gibi bir "terminal emülatörü " VT kullanmak zorunda değilsiniz, ya da gerçek bir "terminal" - yani gerçek bilgisayara kablo ile bağlanan basit bir klavye-ekran kombinasyonu (sadece minimum işlem gücü olmadan veya olmadan)?
Baard Kopperud

17
Hem sanal terminaller hem de terminal emülatörleri, standart yeteneklere sahip eski moda terminalleri taklit eder (örn. Vt100). Bu terminaller etrafta olduğunda, bellek çok daha önemliydi; böylece büyük pikseller / büyük harfler ve birçok renk ya da küçük pikseller / küçük harfler ve az sayıda renk arasında seçim yapabilirsiniz - her iki kombo da ekrandaki noktaları temsil etmek için bir kenara bırakılmış küçük belleği kaplardı. Yalnızca metin programlarına yöneliktirler ve birçok renge göre çok fazla metne (birçok uzun satır) sığdırmak daha önemliydi. Farklı metin türlerini (örneğin kalın / italik) kodlamak için çok fazla renge ihtiyacınız yoktur.
Baard Kopperud

3
@BaardKopperud Bu bir cevap olmalı.
bir CVn

2
Evet, Baard'ın bu yorumu bir cevap olarak öneriyorum çünkü temelde OP'nin istediği buydu. Nihayetinde, birisi vt100 + (ya da her neyse) geliştirip istediği her şeyi destekleyebilirdi. Kimsenin bunu yapmadığını tahmin ediyorum çünkü etkileyici grafikler istiyorsanız, muhtemelen X altında bir terminal altında çalıştırmakla daha fazla ilgileneceksiniz.
Bratchley

3
Sorular ilerledikçe, "nasıl yaparım ...?" "neden olmasın ...?" bana daha mantıklı geliyor. "Neden olmasın?" "bunu yapmayı başaramadınız" olabilir.

Yanıtlar:


7

Bunun mümkün olmaması için teknik bir neden yoktur. Ancak bunun pratik olmamasının pek bir nedeni yoktur. Karakterlerin ekranda temsil ettiği sınırlı miktarda ekran gayrimenkulüyle, ekranda 256'dan fazla eşzamanlı renk için kullanım bulmakta zorlanırsınız.

Bildiğim kadarıyla terminal istemcileri dizinli renk alanı kullanıyor. Bunun nedenlerinden biri, en basit haliyle, 256 dizinlenmiş rengin bir bayt ile tanımlanabilmesidir. RGB renk alanı iki veya üç bayta ihtiyaç duyarken. Renklerin bir terminal akışında nasıl kodlandığını düşünürsek, her renk en az iki bayt + herhangi bir akıllı işaretleme olur. Bu büyük bir sorun bellek mengenesi olmayabilir, ancak gerçek zamanlı bir ağ akışında gecikme süresine neden olabilir, özellikle (yanlışsam beni düzelt) her karakter kendi paketinde gönderilir.


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.