Come posso correggere i colori opachi che ottengo nel terminale Ubuntu 19.04?


11

Sono appena passato a Ubuntu 19.04 e ora sto ottenendo colori opachi nel terminale ma solo al di fuori dei programmi:

colori opachi

In confronto puoi vedere i colori vivaci a cui sono abituato quando uso ranger:

colori vivaci con ranger

Ho cambiato il mio prompt in:

PS1='\[\e[01;32m\]\u ∈  \h\[\e[m\] \[\e[01;34m\]\w ⊢ \[\e[m\] '

I colori appaiono in questo modo in gnome-terminal e terminator.

Grazie per qualsiasi aiuto per risolvere questo problema!

Risposte:


15

Il Terminale 3.32 di GNOME (debuttato in Ubuntu 19.04) ha disabilitato l'impostazione predefinita "Mostra testo in grassetto con colori vivaci". Come un'altra risposta ti mostra bene, una possibile soluzione è ripristinare quell'impostazione.

Tuttavia, questa modifica è stata intenzionale e rimarrà l'impostazione predefinita. C'è una confusione ereditaria sul significato del 1(o 01) nella sequenza di escape che hai mostrato. Lo standard (ECMA-48 § 8.3.117) dice "grassetto o maggiore intensità", quindi non è chiaramente definito, e sia i comportamenti vecchi (grassetto e luminoso) sia i nuovi comportamenti (solo grassetto) sono conformi. Esistono ora altri mezzi per scegliere uno dei 16 milioni di colori, eppure nessuna opzione inequivocabile per "grassetto". Il nostro obiettivo è quello di separare questi due, e di 1distinguere solo per "grassetto".

\e[01;32mnel tuo prompt usato per passare al testo verde ( 32) e renderlo più luminoso e più audace ( 01). D'altra parte, questo approccio non ti consente di combinare la tonalità più scura con un carattere tipografico audace. Con il nuovo comportamento di gnome-terminal questa limitazione non esiste più.

I numeri 90–97 possono essere usati per i colori brillanti come quelli in primo piano e 100–107 come quelli di sfondo. Questi passano alla controparte più luminosa senza renderli audaci.

Quindi ecco la mia raccomandazione che punta verso il futuro, con la chiara separazione di queste due proprietà ortogonali.

Lascia la casella al suo nuovo stato predefinito, disabilitato. Decidi quali colori e attributi vuoi avere nel tuo prompt e modificalo di conseguenza. Se vuoi avere un colore brillante, sostituiscilo 32con 92, 34con 94ecc. Con il nuovo comportamento, questo influenza la luminosità ma non l'audacia. Indipendentemente da ciò, se si desidera un carattere grassetto, mantenere 01, in caso contrario, rimuoverlo. Con il nuovo comportamento, ciò influenza l'audacia ma non la luminosità.


6

Le impostazioni per gnome-terminalsono in:

[Menu Terminale] -> [Preferenze] -> [Nome profilo]

Penso che l'impostazione che stai cercando sia:

"Mostra testo in grassetto con colori vivaci"

finestra delle preferenze di gnome-terminal

Come puoi vedere, la maggior parte di queste impostazioni sono ora ereditate dal tema del sistema, quindi, a parte quell'impostazione , se desideri coerenza tra tutti i tuoi terminali conformi, cambierei le impostazioni nel tema del sistema .


Non c'è "Mostra testo in grassetto con colori vivaci" nel tema del sistema, non è ereditato da lì. Questa è un'opzione di configurazione che esiste solo nel terminale.
egmont,

@egmont Sì, è corretto. Stavo solo menzionando che tutte le altre opzioni di colore sono ereditate dal tema del sistema. "Mostra testo in grassetto con colori vivaci" è la prima parte della risposta. La tua risposta dà il retroscena che è molto interessante!
tu-Reinstate Monica-dor duh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.