Ubuntu – How to fix the dull colors I am getting in Ubuntu 19.04 Terminal

colorscommand linegnome-terminalprompt

I've just recently switched to Ubuntu 19.04 and I am now getting dull colors in terminal but only outside of programs:

dull colors

In comparison you can see the vivid colors I am used to when I use ranger:

vivid colors with ranger

I have changed my prompt to:

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

The colors appear this way in gnome-terminal and terminator.

Thanks for any help fixing this!

Best Answer

GNOME Terminal 3.32 (debuted in Ubuntu 19.04) changed the default of the "Show bold text in bright colors" option to disabled. As another answer nicely shows you, one possible fix is to revert that setting.

However, this change was intentional and is going to stay the default. There's a legacy confusion about the meaning of the 1 (or 01) in the escape sequence you showed. The standard (ECMA-48 § 8.3.117) says "bold or increased intensity", so it's not clearly defined, and both the old (bold and bright) and the new (bold only) behaviors are conformant. There exist now other means of picking any of 16 million colors, yet no unambiguous option for "bold". Our aim is to separate these two, and make 1 stand for "bold" only.

\e[01;32m in your prompt used to switch to green text (32) and make it both brighter and bolder (01). On the other hand, this approach doesn't allow you to combine the darker shade with bold typeface. With gnome-terminal's new behavior this limitation isn't there anymore.

Numbers 90–97 can be used for the bright colors as foreground ones, and 100–107 as background ones. These switch to the brighter counterpart without making them bold.

So here's my recommendation that points towards the future, with the clear separation of these two orthogonal properties.

Leave the checkbox at its new default state, disabled. Decide what colors and attributes you want to have in your prompt, and modify it accordingly. If you want to have a bright color, replace 32 with 92, 34 with 94 etc. With the new behavior, this influences the brightness but not the boldness. Independently from this, if you want a bold typeface, keep the 01, if not, remove it. With the new behavior, this influences the boldness but not the brightness.