2012-06-18 11 views
6

Mevcut olduğunda 256 renk desteği kullanmak istediğim bir kabuk komut dosyası yazıyorum. Sadece bir dünyada, xtermTERM ortam değişkenini xterm-256color olarak ayarlayabilir ve desteği bulmak için tput colors kullanırdım. Ancak, adaletsiz bir dünyada yaşıyoruz. xterm, TERM=xterm-256color ile başlatıldığında bile xterm için TERM ayarlar. Komut dosyası, 256 renk xterm penceresinde çalışan bir tty'ye bağlı stdout ile çalışıp çalışmadığını anlamak için bir kabuk komut dosyasından yapabileceğim bir şey var mı? Eğer öyleyse, ortam değişkenini kendim ayarlayabilirim. En xterm -s bugünlerde colorized olduğundanKabuk betiği, 256 renk desteği olan bir xterm penceresinde çalışıp çalışmadığını nasıl anlayabilir?

cevap

2

xterm sürümü için kontrol edebilirsiniz - $ XTERM_VERSION. Her ne kadar xterm sürümü 256 rengi desteklemeye başladığından emin değilim. Diğer terminaller (örneğin, gnome terminali), xterm ile benzer şekilde davranır, fakat aynı zamanda terminal adını (gnome-256color) düzeltmek için COLORTERM değişkenini de ayarlar.

0

, ben terminali 256 renk olduğunu varsayalım ve komut dosyası aksi bir seçenek (belki -monochrome veya -no-colors) kabul olur.

BTW, bir güç kullanıcısı için -monochrome davranışını zorlamak için bir neden görüyorum: çok yavaş bağlantılarda (kıtalararası ssh düşünün) bant genişliğini azaltmak için renkleri devre dışı bırakmak yararlı olabilir.

+0

Çoğu dönem yalnızca 16 rengi destekler. –

İlgili konular