Method #1 - Using dconf
Background
You can use the dconf
tool to accomplish this, however it's a mult-step process.
DESCRIPTION
The dconf program can perform various operations on a dconf database,
such as reading or writing individual values or entire directories.
This tool operates directly on the dconf database and does not read
gsettings schema information.Therefore, it cannot perform type and
consistency checks on values. The gsettings(1) utility is an
alternative if such checks are needed.
Usage
$ dconf
error: no command specified
Usage:
dconf COMMAND [ARGS...]
Commands:
help Show this information
read Read the value of a key
list List the contents of a dir
write Change the value of a key
reset Reset the value of a key or dir
update Update the system databases
watch Watch a path for changes
dump Dump an entire subpath to stdout
load Populate a subpath from stdin
Use 'dconf help COMMAND' to get detailed help.
General approach
First you'll need to get a list of your gnome-terminal
profiles.
$ dconf list /org/gnome/terminal/legacy/profiles:/
<profile id>
Using this <profile id>
you can then get a list of configurable settings
$ dconf list /org/gnome/terminal/legacy/profiles:/<profile id>
background-color
default-size-columns
use-theme-colors
use-custom-default-size
foreground-color
use-system-font
font
You can then read the current colors of either the foreground or background
foreground
$ dconf read /org/gnome/terminal/legacy/profiles:/<profile id>/foreground-color
'rgb(255,255,255)'
background
$ dconf read /org/gnome/terminal/legacy/profiles:/<profile id>/background-color
'rgb(0,0,0)'
You can change the colors as well
foreground
$ dconf write /org/gnome/terminal/legacy/profiles:/<profile id>/foreground-color "'rgb(255,255,255)'"
background
$ dconf write /org/gnome/terminal/legacy/profiles:/<profile id>/background-color "'rgb(0,0,0)'"
Example
Get my profile ID
$ dconf list /org/gnome/terminal/legacy/profiles:/
:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
Use the profile ID to get a list of settings
$ dconf list /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
background-color
default-size-columns
use-theme-colors
use-custom-default-size
foreground-color
use-system-font
font
Change your background blue
$ dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/background-color "'rgb(0,0,255)'"
A Note on colors
You can use either the notation rgb(R,G,B)
when specifying your colors or the hash notation #RRGGBB
. In the both notations the arguments are red, green, and blue. The values in the first notation are integers ranging from 0-255 for R, G, or B. In the second notation the values are in hexidecimal ranging from 00 to FF for RR, GG, or BB.
When providing either of these to dconf
you need to wrap it properly in double quotes with single quotes nested inside. Otherwise dconf
will complain.
"'rgb(0,0,0)'"
"'#FFFFFF'"
- etc.
Method #2 - Using gconftool-2
On my Ubuntu 12.04 system I was able to change the colors via the command line as follows.
NOTE: The options are ultimately stored in this file, $HOME/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml
.
General approach
First you'll need to get the tree for gnome-terminal
's profile.
$ gconftool-2 --get /apps/gnome-terminal/global/profile_list
[Default]
Using the resulting tree we can find out what attributes are configurable.
$ gconftool-2 -a "/apps/gnome-terminal/profiles/Default" | grep color
bold_color_same_as_fg = true
bold_color = #000000000000
background_color = #FFFFFFFFFFFF
foreground_color = #000000000000
use_theme_colors = false
Get/Set the background_color
& foreground_color
attributes
$ gconftool-2 --get "/apps/gnome-terminal/profiles/Default/foreground_color"
#000000000000
$ gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "#000000FFFFFF"
Confirm
$ gconftool-2 -R /apps/gnome-terminal/profiles/Default | grep color
bold_color_same_as_fg = true
bold_color = #000000000000
background_color = #000000FFFFFF
foreground_color = #000000000000
use_theme_colors = true
References