Mevcut olduğunda 256 renk desteği kullanmak istediğim bir kabuk komut dosyası yazıyorum. Sadece bir dünyada, xterm
TERM
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?
Q
Kabuk betiği, 256 renk desteği olan bir xterm penceresinde çalışıp çalışmadığını nasıl anlayabilir?
6
A
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.
Çoğu dönem yalnızca 16 rengi destekler. –