Changing the colors of lxterminal

23,463

Solution 1

To change what color the prompt use (by editing .bashrc), please read Changing colors for user, host, directory information in terminal command prompt (as in Jobin's comment).

For example:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u\[\033[01;30m\]@\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ \[\033[00;36m\]'

Look for the \[\033[00;36m\] near the end. It sets the color of the commands you type. Look at this answer for color number reference.


If you mean the "default colors" as the foreground color (usually white or black) then you can change it in the settings screen of LXTerminal. Note that this is saved to ~/.config/lxterminal/lxterminal.conf, not .bashrc.


If you mean the appearance of each color (ex. you want to make dark blue to something brighter), then unfortunately you can't with LXTerminal because its color scheme is hardcoded. Marty Jack from LXDE forum wrote this:

At this time we do not offer any more customization than foreground/background. You are encouraged to run any terminal emulator that meets your needs.

If you need lightweight terminal that supports color scheme customization, xfce4-terminal will do the job. To install it type the following command in LXTerminal:

sudo apt-get install xfce4-terminal

Solution 2

You can change the default colors of LXTerminal quite easily. I don't know if this change was brought out by a recent update or not, but now I can run LXTerminal with a custom color scheme. I use LXTerminal as a default terminal for programming in vim with colors.

Using the scripts from base16-shell, you can set the colors for LXTerminal. Just source the script in your bashrc(orzshrc) and the appropriate colors will be loaded.

Add the following to source the script :

COLOR_SCHEME = "/path/to/colorscheme/script"
[[ -s $COLOR_SCHEME ]] && source $COLOR_SCHEME

I changed the script to use the Solarized-dark colorscheme for LXTerminal.

#!/bin/sh
# Colorscheme : Ethan Schoonover(http://ethanshoonover.com)
# Original script for base-16 shell by : Chris Kempson (http://chriskempson.com)
# Adapted by : Shikhar Bhardwaj(http://bluefog.me)

if [ "${TERM%%-*}" = 'linux' ]; then
    # This script doesn't support linux console (use 'vconsole' template instead)
    return 2>/dev/null || exit 0
fi

color00="07/36/42" # Base 00 - Black
color01="dc/32/2f" # Base 08 - Red
color02="85/99/00" # Base 0B - Green
color03="b5/89/00" # Base 0A - Yellow
color04="26/8b/d2" # Base 0D - Blue
color05="d3/36/82" # Base 0E - Magenta
color06="2a/a1/98" # Base 0C - Cyan
color07="ee/e8/d5" # Base 05 - White
color08="00/2b/36" # Base 03 - Bright Black

color09="cb/4b/16" # Base 08 - Bright Red
color10="58/6e/75" # Base 0B - Bright Green
color11="62/62/62" # Base 0A - Bright Yellow
color12="83/94/96" # Base 0D - Bright Blue
color13="f9/55/8b" # Base 0E - Bright Magenta
color14="93/a1/a1" # Base 0C - Bright Cyan

color15="fd/f6/e3" # Base 07 - Bright White
color16="dc/96/56" # Base 09
color17="a1/69/46" # Base 0F
color18="28/28/28" # Base 01
color19="38/38/38" # Base 02
color20="b8/b8/b8" # Base 04
color21="e8/e8/e8" # Base 06
color_foreground=$color07 # Base 05
color_background=$color12 # Base 00
color_cursor="d8/d8/d8" # Base 05

if [ -n "$TMUX" ]; then
  # tell tmux to pass the escape sequences through
  # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
  printf_template="\033Ptmux;\033\033]4;%d;rgb:%s\007\033\\"
  printf_template_var="\033Ptmux;\033\033]%d;rgb:%s\007\033\\"
  printf_template_custom="\033Ptmux;\033\033]%s%s\007\033\\"
elif [ "${TERM%%-*}" = "screen" ]; then
  # GNU screen (screen, screen-256color, screen-256color-bce)
  printf_template="\033P\033]4;%d;rgb:%s\007\033\\"
  printf_template_var="\033P\033]%d;rgb:%s\007\033\\"
  printf_template_custom="\033P\033]%s%s\007\033\\"
else
  printf_template="\033]4;%d;rgb:%s\033\\"
  printf_template_var="\033]%d;rgb:%s\033\\"
  printf_template_custom="\033]%s%s\033\\"
fi

# 16 color space
printf $printf_template 0  $color00
printf $printf_template 1  $color01
printf $printf_template 2  $color02
printf $printf_template 3  $color03
printf $printf_template 4  $color04
printf $printf_template 5  $color05
printf $printf_template 6  $color06
printf $printf_template 7  $color07
printf $printf_template 8  $color08
printf $printf_template 9  $color09
printf $printf_template 10 $color10
printf $printf_template 11 $color11
printf $printf_template 12 $color12
printf $printf_template 13 $color13
printf $printf_template 14 $color14
printf $printf_template 15 $color15

# 256 color space
printf $printf_template 16 $color16
printf $printf_template 17 $color17
printf $printf_template 18 $color18
printf $printf_template 19 $color19
printf $printf_template 20 $color20
printf $printf_template 21 $color21

# foreground / background / cursor color
if [ -n "$ITERM_SESSION_ID" ]; then
  # iTerm2 proprietary escape codes
  printf $printf_template_custom Pg d8d8d8 # forground
  printf $printf_template_custom Ph 181818 # background
  printf $printf_template_custom Pi d8d8d8 # bold color
  printf $printf_template_custom Pj 383838 # selection color
  printf $printf_template_custom Pk d8d8d8 # selected text color
  printf $printf_template_custom Pl d8d8d8 # cursor
  printf $printf_template_custom Pm 181818 # cursor text
else
  printf $printf_template_var 10 $color_foreground
  printf $printf_template_var 11 $color_background
  printf $printf_template_var 12 $color_cursor
fi

# clean up
unset printf_template
unset printf_template_var
unset color00
unset color01
unset color02
unset color03
unset color04
unset color05
unset color06
unset color07
unset color08
unset color09
unset color10
unset color11
unset color12
unset color13
unset color14
unset color15
unset color16
unset color17
unset color18
unset color19
unset color20
unset color21
unset color_foreground
unset color_background
unset color_cursor

However the 256 color space is not properly changed.

Here's what it looks like :

enter image description here

Share:
23,463

Related videos on Youtube

user264934
Author by

user264934

Updated on September 18, 2022

Comments

  • user264934
    user264934 over 1 year

    How can I change the default colors of the lxterminal in Lubuntu using .bashrc?

    • jobin
      jobin about 10 years
      Did you have a look at this: askubuntu.com/questions/123268/…. This seems to be a possible duplicate.
    • user264934
      user264934 about 10 years
      i tried it, it doesnt work for mine i dont know why?
    • belacqua
      belacqua about 10 years
      What did you try exactly, and what was the result?
  • nulll
    nulll over 7 years
    "Just source the script in your bashrc" can you please explain how?
  • bluefog
    bluefog over 7 years
    @null Add [[ -s $COLOR_SCHEME ]] && source $COLOR_SCHEME to your bashrc / zshrc, where $COLOR_SCHEME is the path to the above script.