Bash

從 bash 腳本設置 gnome 終端背景/文本顏色

  • July 22, 2018

我想#002b36使用 bash 腳本在 ubuntu 13 中設置我的 gnome 終端的背景()和前景色。

我嘗試過gconftool但無法成功。

GCONFTOOL-2(1)                  User Commands                                                    GCONFTOOL-2(1)

NAME
      gconftool-2 - GNOME configuration tool

我的gnome terminal版本是

$ gnome-terminal --version
GNOME Terminal 3.6.1

在此處輸入圖像描述

目前我正在使用 ubuntu 終端首選項 UI 來實現這一點。

在此處輸入圖像描述

方法 #1 - 使用 dconf

背景

您可以使用該dconf工具來完成此操作,但這是一個多步驟的過程。

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.

用法

$ 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.

一般的做法

  1. 首先,您需要獲取您的gnome-terminal個人資料列表。
$ dconf list /org/gnome/terminal/legacy/profiles:/
<profile id>
  1. 使用它<profile id>,您可以獲得可配置設置的列表
$ 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
  1. 然後,您可以讀取前景或背景的目前顏色

前景

$ dconf read /org/gnome/terminal/legacy/profiles:/<profile id>/foreground-color
'rgb(255,255,255)'

背景

$ dconf read /org/gnome/terminal/legacy/profiles:/<profile id>/background-color
'rgb(0,0,0)'
  1. 您也可以更改顏色

前景

$ dconf write /org/gnome/terminal/legacy/profiles:/<profile id>/foreground-color "'rgb(255,255,255)'"

背景

$ dconf write /org/gnome/terminal/legacy/profiles:/<profile id>/background-color "'rgb(0,0,0)'"

例子

  1. 獲取我的個人資料 ID
$ dconf list /org/gnome/terminal/legacy/profiles:/
:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
  1. 使用配置文件 ID 獲取設置列表
$ 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
  1. 改變你的背景藍色
$ dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/background-color "'rgb(0,0,255)'"

              #1

關於顏色的注意事項

rgb(R,G,B)您可以在指定顏色時使用該表示法,也可以使用散列表示法#RRGGBB。在這兩種表示法中,參數是紅色、綠色和藍色。對於 R、G 或 B,第一種表示法中的值是介於 0-255 之間的整數。對於 RR、GG 或 BB,第二種表示法中的值是從 00 到 FF 的十六進制值。

向其中任何一個提供時,dconf您需要將其正確地用雙引號括起來,其中嵌套了單引號。否則dconf會投訴。

  • "'rgb(0,0,0)'"
  • "'#FFFFFF'"
  • 等等

方法 #2 - 使用 gconftool-2

在我的 Ubuntu 12.04 系統上,我可以通過命令行更改顏色,如下所示。

**注意:**選項最終儲存在此文件中,$HOME/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml.

一般的做法

  1. 首先,您需要獲取gnome-terminal’ 配置文件的樹。
$ gconftool-2 --get /apps/gnome-terminal/global/profile_list
[Default]
  1. 使用生成的樹,我們可以找出哪些屬性是可配置的。
$ 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
  1. 獲取/設置background_color&foreground_color屬性
$ gconftool-2 --get "/apps/gnome-terminal/profiles/Default/foreground_color"
#000000000000

$ gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "#000000FFFFFF"    
  1. 確認
$ 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

參考

引用自:https://unix.stackexchange.com/questions/133914