Redhat Linux - change directory color - linux

I am using Redhat Linux and the problem I am facing is that the "blue" colour of the directories is hardly visible on the black background. I found some posts on the web which asks to change some settings in the file /etc/profile.d/colorls.sh and /etc/profile.d/colorls.csh. However, this will change the colour settings for everyone who logs into the system. Could someone please let me know how I can change the colour settings that will affect only me?

To specify the colors of the output of ls, you need to set LS_COLORS. In your .zshrc, try adding:
LS_COLORS="$LS_COLORS:di=00;33"
34 is blue, 33 is ... yellowish. Change that number and find what you like.
Use dircolors to get a feel for what LS_COLORS should look like and add -p to see a color list.

Joachim's answer is good for fixing the specific issue of directories, but if any other utilities output using the "blue" color, you will find them just as unreadable.
Different terminal emulators have different settings for changing the colors; my terminal emulator of choice reads X resources to determine what colors to use:
URxvt.color0: #000000
URxvt.color1: #A80000
URxvt.color2: #00A800
URxvt.color3: #A8A800
URxvt.color4: #0000A8
URxvt.color5: #A800A8
URxvt.color6: #00A8A8
URxvt.color7: #A8A8A8
URxvt.color8: #000054
URxvt.color9: #FF0054
URxvt.color10: #00FF54
URxvt.color11: #FFFF54
URxvt.color12: #0000FF
URxvt.color13: #FF00FF
URxvt.color14: #00FFFF
URxvt.color15: #FFFFFF
color4 is the blue in question; I have mine set like this:
URxvt.background: #000000
URxvt.foreground: gray75
URxvt.color3: DarkGoldenrod
URxvt.color4: RoyalBlue
URxvt.color11: LightGoldenrod
URxvt.color12: LightSteelBlue
URxvt.color7: gray75
URxvt.colorBD: #ffffff
URxvt.colorUL: LightSlateGrey
URxvt.colorIT: SteelBlue
URxvt.cursorColor: grey90
URxvt.highlightColor: grey25
This gives a black background, not-too-bright foreground, and most other colors are reasonable enough. (I too found the default blue unreadable.) I put these into my ~/.Xresources file, and they take effect after log in or after merging this file with the X resources database: xrdb -merge ~/.Xresources.
Of course, different terminals are configured differently. Check your terminal's manpage for more details on changing the colors of the usual colors.

You can see what is done in the global file, and then add it to your private ~/.profile (or similar file.)

samolod solution is good.
In case of KDE konsole you go to
Settings -> Edit current profile -> Appearance -> Edit -> Color 5.
Then use graphical color chooser to make it brighter (I picked #5871FF).

Related

Guake terminal displays incorrect colors (insufficient contrast)

I use two dropdown terminals in parallel: Yakuake and Guake.
When using Guake, the colors are way too dark, which makes much of the colored text unreadable because of insufficient contrast. The problem is most severe when displaying color #4 (dark blue) on black background (which is the default color ls displays directories with) or in Midnight Commander (default theme, dark blue background).
Yakuake displays all 16 colors correctly and the text is readable very well, the colored output of ls and Midnight Commander.
My OS is Linux 5.15.11-gentoo with plasma-5.88.0, gtk+-2.24.33 and gtk+-3.24.29. Here is my TERM setting in the environment:
TERM=xterm-256color
COLORTERM=yes
I tried all available Guake themes and all of them have horrible contrast. Either all colors are too dark, or the other way around - all of them are too bright. It seems Guake somehow compresses the color contrast.
I also tried defining custom colors, copying the color settings from Yakuake, but even though I set specific colors explicitly, the actually displayed colors were darker. I validated this with a color picker.
Changing the GTK Theme setting in Guake's preference tab General did not yield any success either.
The question is: Why does Guake alter the colors? Is there a way to turn this off and let it display the actual colors I specified? The problem must be with Guake or GTK because everything else is identical when using Yakuake (environment, Midnight Commander colors, ls colors, ...)
The following screenshots demonstrate my Guake Appearance settings:
And here is some Guake support information:
<details><summary>$ guake --support</summary>
Guake Version: 3.8.0
Vte Version: 0.64.2
Vte Runtime Version: 0.64.2
--------------------------------------------------
GTK+ Version: 3.24.29
GDK Backend: <GdkX11.X11Display
--------------------------------------------------
Desktop Session: /usr/share/xsessions/plasma
--------------------------------------------------
Display: :0
RGBA visual: True
Composited: True
Thanks a lot in advance.
It turns out ls renders directories as bold font with the expectation that the text will appear in bright color. As explained by Guake developers this is non-standard behavior used with old terminals that did not supported fonts. Guake follows the ANSI standard and renders the text correctly.
The solution is to tweak the ls colors accordingly.

How to make the input and output color different in Terminal?

In Pycharm-run, the input text color is always green and Italic while the output is always in plain text in white, which really helps me to distinguish the input from the output. How do I do that in Linux terminal or in VSCode?
I use Linux mint and i can easily change the color of font , color of palette, output color, size and all by opening the terminal -> Edit -> Preferences. It has all the options .I hope this helps.
open the bash terminal
go to .bashrc using vi or nano
at the end of the file add the PS1
PS1="\e[1;31m\u#\h \W$ \e[0;0m"
This code at the end of the rc file will make your prompt red and bold
There are many ways you can change by manipulating the characters in it.
Here is an useful link: https://phoenixnap.com/kb/change-bash-prompt-linux

what is the difference between cterm color and gui color?

I am customizing my own color scheme for Vim but I don't know when should I configure ctermfg/ctermbg variable and guifg/guibg variable because I didn't see any differences between them at all. Is there any difference between them?
Can any one give me an illustrative example of how to use them ?
Thanks
I didn't see any differences between them at all
ctermxx is used by console version of Vim (when set notermguicolors). guixx is used in GVim, or in console if set termguicolors, and the console is capable of TrueColor, obviously. Hence you must test it in different programs to see the difference.
Also, some colors could be the same or very close to each other, e.g. "blue" is "blue" both in GUI and console.
Can any one give me an illustrative example of how to use them?
hi Normal guifg=#1034a6 guibg=#f5f5dc ctermfg=19 ctermbg=230
Should look very similar but still a little different in GUI and console
For symbolic colors names see :h cterm-colors and $VIMRUNTIME/rgb.txt. The cheat sheet of 256 color indexes for console is available here.
The separate pairs allow you to specify different colors for a terminal (which may limit you to a fixed-sized palette of colors, usually 16 or 256) and a GUI (which typically provides a much larger palette or even direct access to any color your display can handle).
For example, if you start a session in your terminal using vi some_file.txt, then ctermfg and ctermbg would be used. If you start an instance of gvim (which opens its own window independent of your terminal emulator), then guifg and guibg are used instead.

Use arbitrary colors in Vim and terminator

I am working on terminal Vim colorscheme (for 256-color terminal) and I need a few dark colours that I could use as backgrounds. I'm not satisfied with ones available in standard palette - for example, color 22 (#005f00), the darkest shade of green, is still too bright.
I've read that terminal Vim does not allow specifying colors as RGB, so - to get arbitrary colors - I would have to tweak terminal emulator's color palette. Is there a way to tweak full 256-color palette in gnome-terminal / terminator? Preferences window only allows editing basic 16.
BTW, Chrome's hterm allows this via 'color-palette-overrides' preference (but has its own drawbacks).
Gnome-terminal doesn't offer a UI to alter the colors (apart from the first 16), but you can use escape sequences, e.g.:
echo -ne '\e]4;22;#004f00\a'
As you've mentioned, sometimes these colors get reset to their default values. This was a bug in the underlying VTE library, and got fixed in version 0.36.
As far as I know, you won't find a single terminal emulator that gives you that kind of control over the whole standardized xterm palette.
So, if you ever intend to share that colorscheme you are stuck with the default palette.
On the other hand, if that colorscheme is only meant for your usage or if you are OK with forcing a hard dependency on your users, you can use japh's colorcoke to generate an alternate palette more suited to your needs. See the repo's wiki for examples)

Why doesn't VIM recognize a color totally available?

This is mystery drives me crazy: I am trying to specify certain colors that are listed inside gVim 7.3 when running this script.
But when put in a .vim syntax file, gVim simply issues an error "Color name not recognized". This happens even with simple colors like orange. Instead, it only recognizes a few colors like red, blue, yellow, darkyellow, darkgreen, black, etc.
Why does this happen and how to workaround this?
Because, as a terminal program vim only supports ANSI colors by default.
http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
I don't know enough about syntax files to fully answer, but these links might be useful
http://vim.wikia.com/wiki/256_colors_in_vim
http://vim.wikia.com/wiki/View_all_colors_available_to_gvim
It's possible that only the normal colors are available to syntax files from there you can use a different color scheme to reassign the normal colors.
http://vimcasts.org/episodes/creating-colorschemes-for-vim/
I ended up solving the problem by hard coding the offending color (orange) in the .vim file:
hi def MyOrange_color ctermfg=202 guifg=#ff5f00

Resources