GNU/Linux'ta Daha Renkli Terminaller
GNU/Linux terminallerinde (terminal emülatörlerinde) renkli karakterler kullanmak için birkaç farklı yöntem bulunmaktadır. Bunlardan en bilineni NCurses ve türevleri olsa gerek. Diğer bir yaygın yöntem de terminale onun için anlamlı çeşitli özel kodlar göndermektir (rastlantıya bakın ki bu yazının konusu da bu özel kodlardır). Terminal ekranlarında renkli çıktılar almak sadece filmlerde güzel bir sahne çekmek için değil aynı zamanda çıktıların daha kolay okunması için de önemlidir. Örneğin bir derleme işleminin çıktısında tamamlanan işlemler yeşil, uyarılar sarı ve hatalar kırmızı olarak renklendirilse takibi daha kolay olacaktır (bkz: colorgcc).
Şimdi basit bir örnekle kaçış karakterlerini renkli karakterler oluşturmak için nasıl kullanacağımıza bakalım:
echo -e "\033[44;37;5m Merhaba \033[0m Dünya"
- echo Ekrana herhangi bir karakter dizisi basmak için kullanılabilir.
- -e echo komutunun kaçış karakterlerini aktifleştirmeye yarayan parametresi.
- \033 kaçış karakterlerini kullanmaya başladığımızı söylemek için kullanıyoruz.
- [ terminale gönderdiğimiz mesajın parametrelerini girmeye başladığımızı bildiriyoruz.
- ; Parametreleri birbirinden ayırmak için kullanıyoruz.
- 44;37;5m yazıların rengi, özellikleri ve arkaplan rengini ayarlamak için kullanılan örnek değerlerdir. Renk kodları belli bir sıraya bağlı kalınmadan kullanılabilir yani önce arkaplan rengini veya yazı rengini ayarlamış olmanız bir farklılık göstermeyecektir çünkü renk kodları farklıdır. m ile ise yazıya çeşitli ek özellikler kazandırılabilir, ayrıca terminale gönderdiğimiz özel mesajın sonlandığını da bildirmektedir. Kullanılabilecek kodların bir kısmını aşağıdaki listelerden görebilirsiniz:
Yazı renkleri
30 Siyah
31 Kırmızı
32 Yeşil
33 Sarı
34 Mavi
35 Mor
36 Camgöbeği
37 Beyaz
Arkaplan renkleri
40 Siyah
41 Kırmızı
42 Yeşil
43 Sarı
44 Mavi
45 Mor
46 Camgöbeği
47 Beyaz
Yazı özellikleri
0 Tüm özellikleri öntanımlılara döndür
1 Kalın yaz
4 Altıçizili yaz
5 Yanıp söndürerek yaz
7 Video renklerini tersine çevir
Yukarıdaki listelerden yararlanarak ve deneme yaparak, bundan sonra yazacağınız BASH betiklerini renklendirebilirsiniz (örnek bir kullanımı identi.ca göndergeci'nde görebilirsiniz).
Elbette terminale kaçış karakterleri göndererek yapabilecekleriniz sadece çıktıları renklendirmekle sınırlı değil. Yazılacakların terminal ekranının tam olarak neresinde görünmesini istiyorsanız oraya da yazdırabilirsiniz. Yalnız bu tip imlecin veya çıktıların yerini değiştiren kodları kullanmadan/kullandıktan önce/sonra ekranı temizlemek iyi olacaktır. Ekranı temizlemek için şu iki (veya sizin keşfettiğiniz başka bir) komuttan yararlanabilirsiniz:
clear
echo -e "\033[2J"
Terminalde çıktıyı konumlandırmak için gerekenleri yine basit bir örnek üzerinde inceleyelim, aşağıdaki komut terminalin onuncu satırının beşinci sütunundan başlayarak Merhaba Dünya yazacaktır:
echo -e "\033[10;5H Merhaba Dünya \033[0m"
Eğer daha fazlasını istiyorsanız aşağıdaki anahtar ifadelere ve komutlara bakabilirsiniz:
- HappyPenguin'deki konsol tabanlı oyunlar
- mplayer -vo caca video-hede.mpg
tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"
yes "$(seq 232 255;seq 254 -1 233)" | while read i; do printf "\x1b[48;5;${i}m\n"; sleep .01; done
// renkli-merhaba.cpp
// g++ renkli-merhaba.cpp -o renkli-merhaba
// ./renkli-merhaba
#include>iostream<
#include >cstdlib<
int main()
{
system("clear");
std::cout << "\033[32;1mRenkli Merhaba\033[0m" << std::endl;
}
Kaynaklar:
Terminal colour highlights Colour on text terminal - Konsol Programlarında Çıktı Renklendirme ve GotoXY
Yorumlar
Yorum Gönder
sen de yaz yaz yaz buraya yaz bütün sözlerini