Xterm neden 256 renk görüntüler (xterm-256color değil)?


11

Birisi bunu açıklayabilir mi? Kullanıyorum gnome-terminal. İlk olarak, bazı bilgiler:

# echo $TERM
xterm

# infocmp xterm
Reconstructed via infocmp from file: /lib/terminfo/x/xterm
colors#8, cols#80, it#8, lines#24, pairs#64

# tput colors
8

Genişletilmiş renk kümesi için kodlar oluşturmak için basit bir komut dosyası yazdım:

# Output file (current directory) and text.
OFILE='xterm256_colors_test.sh'
OFILE_COLORS='terminal_256_colors'
OTEXT='Sed ut perspiciatis unde omnis iste natus error sit voluptatem...'

# Clearing the contents from previous runs.
if [ -e $OFILE ] || [ -e $OFILE_COLORS ]
then
  > $OFILE
  > $OFILE_COLORS
fi

# Bang!
echo -e '#!/bin/bash\n' | tee --append $OFILE $OFILE_COLORS &> /dev/null
echo -e "\necho -e \"" | tee --append $OFILE &> /dev/null

# \x1b is a control character changing behaviour of the shell.
# It is also the <Ctrl+V><Esc> sequence.
for i in {016..255}; do
  echo -e "\x1b[38;5;${i}m $OTEXT $i \x1b[0m" >> $OFILE
  echo -e "color${i}=\"\[\033[38;5;${i}m\]\"" >> $OFILE_COLORS
done

# End of echo.
echo '"' | tee --append $OFILE &> /dev/null

# The file should be executable.
chmod +x $OFILE

xtermOluşturulan komut dosyasını çalıştırdığımda temel terminal emülatörüne rağmen 240 rengin hepsini görebiliyorum. Neden? Ben değiştirmek gerektiğini düşündüm $TERMiçin xterm-256colorilk.

Yanıtlar:


18

TERMOrtam değişkeni Eğer kullanıcı, programları söyleyebilirim bir yoludur (örneğin emacs, grep, less, ls, ve vim) ne tür parametrelerini bilecek böylece hangi işlevleri sahip olduğu ve hangi dahil, çalışmakta olan terminal çıkış sıralarını onlar onlara erişmek için sorun gerekir. Bu, genel olarak, yazılımın bunu kendisi için belirlemesinin çok zor olması (ve kullanıcılar harici olan ve yalnızca bir veri kablosuyla bilgisayara bağlanan terminaller aracılığıyla bilgisayarlarla arabirim kurduğunda) neredeyse imkansızdı .

gnome-terminalkullanıcıya terminal benzeri hizmetler sağlayan bir programdır ve kullanıcının terminal içinde çalıştırdığı programlardır.  gnome-terminalayarlanan edildi ortam değişkenleri farkında olabilir onun o (çağrılır önce, çevre DISPLAYbilinen bir örneğidir), ancak bunun altında çalışan süreçlerde ayarlanır ortam değişkenleri hakkında bilgi sahibi değildir.

Yani, gnome-terminalsahip olduğu her türlü yeteneğe sahiptir. Bunları harici olarak ayarlamak, örneğin komut satırı seçenekleri, önceden var olan ortam, yapılandırma dosyaları ve pencere çerçevesindeki diyaloglar aracılığıyla pencerede TERMkabuk değiştirerek ayarlamak / kısıtlamak mümkün olabilir . 256 renk görüntüleyebiliyorsa, 256 renk görüntüleyebilir ve buna uygun kaçış dizileri göndererek bunu yapabileceksiniz. Ancak, TERMayarladığınız sürece xterm, çalıştırdığınız programlar, onlara sekiz renk özellikli bir terminalde çalıştıklarını söylediğinize inanacak ve böylece isteklerini (kaçış dizileri) bu yeteneklerle sınırlayacaklardır . Etkinleştirmek TERMiçin xterm-256colordeğil, ayarlamanız gerekirgnome-terminal256 renk gösterilecek, ancak gibi programlar anlatmak grepve lshiç sormak 8'den fazla renk kullanmak için.


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.