PS1 rengini arka plan rengine göre değiştirilsin mi?


12

PS1'in biçimini, özellikle dizenin rengini değiştirebileceğimi öğrendim. Peki, kabuğun arka plan rengine göre rengi değiştirmek mümkün mü? Veya kabuğun arka plan rengini nasıl tespit edebilirim?

Yanıtlar:


4

Bildiğim kadarıyla, terminal emülatörünün renklerini sorgulamanın bir yolu yok. Terminaliniz bu sekansı destekliyorsa (referans: ctlseqs ) \e]4;NUMBER;#RRGGBB\a( bunları NUMBERterminal renkleri numarası (açık renkler için 0-7, parlak renkler için 8–15) ve #RRGGBBonaltılık bir RGB renk değeri ) ile değiştirebilirsiniz.

Güçlü renk düzeni mekanizmaları genellikle siyah veya koyu gri arka planınızın veya beyaz veya açık gri arka planınızın olup olmadığını belirtmek için sağlamanız gereken koyu veya açık bir arka plan ayarına sahiptir.

Kendiniz için yapılandırırken, genellikle aynı arka plan rengini kullanacağınıza karar vermek genellikle yeterlidir.


"Tput renklerine" bakarak termcap girdisinde desteklenen renk sayısını elde edebilirsiniz, ancak çoğu durumda 8 gibi düşük bir sayı söyleyecektir, çünkü 256 renkli terminaller için termcap desteği gerçekten zayıftır.
slacy

1
@slacy Günümüz terminallerinin% 99'undan fazlası için termcap / terminfo verileri önemsizdir: hepsi xterm'in küçük varyasyonlarıdır ve renk sayısı gibi farklı ayrıntılar değerine yansıtılmaz TERMve bu nedenle olamaz ortamdan elde edilir.
Gilles 'SO- kötü olmayı bırak'

4

Gnome-terminal kullanıyorsanız, herhangi bir profil için arka plan rengini, bu durumda Varsayılan profil olarak

   $ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
   #E12FE12FC74D

isteminizi buna göre nasıl ayarlayacağınıza karar verebilirsiniz.


2

Xterm ile arka plan rengini \e]11;?\akaçış dizisiyle sorgulayabilirsiniz . Yanıtı terminalden okumalısınız. Bunu sizin için yapan bir xtermcontrolkomut var:

~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0

Aynı şey gnome terminalinde ve muhtemelen diğer bazı terminal emülatörlerinde de çalışır (ancak kesinlikle hepsi değil).
egmont
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.