colorizing bash | Arch Linux
After installing Arch Liunux, I decided that I needed to spruce up my bash environment.
The Arch Linux wiki page on colorizing bash prompt offers us some basic configuration options for colorizing the prompt itself for individual users. One just needs to edit ~/.bashrc
by commenting out the defaults and defining one's desired parameter.
Let's say I want a a green prompt:
vi ~/.bashrc
# PS1='[\u@\h \W]\$ '
PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '
Colored prompts are nice and all, but I'm after a slightly more colorful environment: one that makes my 'ls' outputs pretty and allows me to easily discern a file from a folder. To accomplish this, I needed a few more lines of code:
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
# ATTEMPT: redefine bash colors
if [ "$TERM" = "linux" ]; then
echo -en "\e]P8393939" #bright-black
echo -en "\e]P1ff3a3a" #red
echo -en "\e]P9ff6d6d" #bright-red
echo -en "\e]P260b045" #green
echo -en "\e]PAaddaa0" #bright-green
echo -en "\e]P3d9d03f" #yellow
echo -en "\e]PBfff333" #bright-yellow
echo -en "\e]P41895fb" #blue
echo -en "\e]PC06c9fb" #bright-blue
echo -en "\e]P5c46dab" #magenta
echo -en "\e]PDd5b2e1" #bright-magenta
echo -en "\e]P657ddca" #cyan
echo -en "\e]PEaceee5" #bright-cyan
echo -en "\e]P7f8f8f8" #white
echo -en "\e]PFdedede" #white-grey
clear #for background artifacting
fi
Testing color choices for can be facilitated a script a script to print your color pallet. [NOTE: Scripts need +x permission in order to run the .
preface.]
For example:
#touch print
#vim print
-then paste in the script-
#!/bin/bash
# tputcolors
echo
echo -e "$(tput bold) reg bld und tput-command-colors$(tput sgr0)"
for i in $(seq 1 7); do
echo " $(tput setaf $i)Text$(tput sgr0) $(tput bold)$(tput setaf $i)Text$(tput sgr0) $(tput sgr 0 1)$(tput setaf $i)Text$(tput sgr0) \$(tput setaf $i)"
done
echo ' Bold $(tput bold)'
echo ' Underline $(tput sgr 0 1)'
echo ' Reset $(tput sgr0)'
echo
-enable execution and run it-
chmod +x print
./print
I'm pretty happy with the results.
... After I eventually settled on xmonad
for my window manager (WM), I discovered that xterm
draws color settings from ~/.Xresources
, and that I would have to tell my xterm programme to merge in my user settings before it would actually load my colors.
Once loaded, I had to stop and start X
before setting changes would take effect... resulting in a more time intensive period of fine-tuning and adjusting. I eventually got my xterm looking how I wanted by fooling with ~./Xresources
and giving it a similar color scheme. To stop it from showing bolded files, I used these settings:
xterm*font: fixed
xterm*boldFont: fixed
To automate the loading of your color palate, add some additional configuration parameters to ~/.xinrc
Now I just need to figure out how to colorize vim.
View or Post Comments