bash betiğinden gnome terminali arka planını / yazı rengini ayarlama


22

Gnome terminalimin arka planını ( #002b36) ve ubuntu 13'te ön plan rengini bash betiğini kullanarak ayarlamak istiyorum .

Denedim gconftoolama başaramadım.

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

NAME
       gconftool-2 - GNOME configuration tool

Benim gnome terminalversiyonum

$ gnome-terminal --version
GNOME Terminal 3.6.1

görüntü tanımını buraya girin

Şu anda ubuntu terminali tercihlerini UI kullanıyorum.

görüntü tanımını buraya girin

Yanıtlar:


20

Yöntem # 1 - dconf'u kullanma

Arka fon

Bunu dconfbaşarmak için aracı kullanabilirsiniz , ancak bu çok adımlı bir işlemdir.

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.

kullanım

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

Genel yaklaşım

  1. Öncelikle gnome-terminalprofillerinizin bir listesini almanız gerekir .

    $ dconf list /org/gnome/terminal/legacy/profiles:/
    <profile id>
  2. Bu kullanma <profile id>yapılandırılabilir ayarların bir listesini almak sonra edebilir

    $ 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
  3. Ardından ön planın veya arka planın geçerli renklerini okuyabilirsiniz.

    ön plan

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

    arka fon

    $ dconf read /org/gnome/terminal/legacy/profiles:/<profile id>/background-color
    'rgb(0,0,0)'
  4. Renkleri de değiştirebilirsiniz

    ön plan

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

    arka fon

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

Örnek

  1. Profil kimliğimi al

    $ dconf list /org/gnome/terminal/legacy/profiles:/
    :b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
  2. Ayarların listesini almak için profil kimliğini kullanın.

    $ 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
  3. Arkaplanınızı değiştirin mavi

    $ dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/background-color "'rgb(0,0,255)'"

              ss # 1

Renklerle ilgili bir not

Sen gösterimi kullanabilirsiniz rgb(R,G,B)renklerini veya hash gösterimini belirtirken #RRGGBB. Her iki gösterimde de argümanlar kırmızı, yeşil ve mavidir. İlk gösterimdeki değerler, R, G veya B için 0-255 arasında değişen tam sayılardır. İkinci gösterimde değerler, RR, GG veya BB için 00 ila FF arasında değişen onaltılık bir değerdir.

Bunlardan herhangi birini sağlarken, dconfiçinde tek tırnaklar bulunan çift tırnaklara uygun şekilde sarmanız gerekir. Aksi takdirde dconfşikayet edecek.

  • "'rgb(0,0,0)'"
  • "'#FFFFFF'"
  • vb.

Yöntem # 2 - gconftool-2'yi kullanma

Ubuntu 12.04 sistemimde renkleri komut satırından aşağıdaki gibi değiştirebildim.

NOT: Seçenekler sonuçta bu dosyada saklanır $HOME/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml,.

Genel yaklaşım

  1. İlk önce ağacın gnome-terminalprofilini çıkarmanız gerekiyor .

    $ gconftool-2 --get /apps/gnome-terminal/global/profile_list
    [Default]
  2. Ortaya çıkan ağacı kullanarak hangi özelliklerin yapılandırılabilir olduğunu bulabiliriz.

    $ 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
  3. background_color& foreground_colorÖznitelikleri Al / Ayarla

    $ gconftool-2 --get "/apps/gnome-terminal/profiles/Default/foreground_color"
    #000000000000
    
    $ gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "#000000FFFFFF"    
  4. Onaylamak

    $ 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

Referanslar


3
Bu harika cevap için çok teşekkür ederim. Ama terminalim profil vermedidconf list /org/gnome/terminal/legacy/profiles:/
prayagupd

@PrayagUpd - Ubuntu 12.04 kurulumuna bakıyorum ve gnome-terminali varsayılan değil gibi görünüyor. Debian X terminal emülatörü def. Utilities sekmesi altından bu komutu kontrol edebilirsiniz exo-preferred-applications. Detaylar burada: askubuntu.com/questions/356842/… . Bunu onaylayabilir misin? Yukarıdakiler Fedora 19 GNOME 3.10 kurulumunda yapıldı.
slm

Evet, Debian X terminal emulatorvarsayılan olarak işe yaramadı olarak 13.04değiştirildi gnome terminal.
prayagupd

@PrayagUpd - yöntem # 2 sizin için çalışıyor mu?
slm

1
Ubuntu 18.04'ten itibaren sudo dconf whateverkomutları verirken kullanmanız gerekiyor
Scott Stensland

0

Diğer fonksiyonlardan Github kodunu temel alarak bazı fonksiyonlar yarattım. Bu işlevleri ~/.bashrcdosyanıza ekleyebilirsiniz . Gördüğünüz gibi, eğer ararsanız create_random_profile:

  1. Oluşturduğunuz herhangi bir önceki rasgele profili kontrol edip siler.
  2. GNOME terminallerinde rastgele bir isim profili oluşturacaktır.
  3. Bu adı önceden tanımlanmış işlevlerde renginizi değiştirmek için kullanabileceğiniz bir ortam değişkeninde ayarlayacaktır. Son işleve bakın setcolord,.

Farklı renklere sahip birçok terminale sahip olmak için bu yararlı olmalıdır. Ayrıca önceden tanımlanmış fonksiyonlarla bu renkleri anında değiştirebilirsiniz.

function create_random_profile() {
    #delete previous profiles in case there were something
    #delete_one_random_profile
    prof="`mktemp -u HACK_PROFILE_XXXXXXXXXX`"
    gconftool-2 --set "/apps/gnome-terminal/profiles/$prof/use_theme_colors" --type bool false
    gconftool-2 --type list --list-type string --set $prof_list "`gconftool-2 --get $prof_list | sed "s/]/,$prof]/"`"
    file="`mktemp`"
    gconftool-2 --dump "/apps/gnome-terminal/profiles/Default" | sed "s,profiles/$2,profiles/$prof,g" > "$file"
    gconftool-2 --load "$file"
    gconftool-2 --type string --set "/apps/gnome-terminal/profiles/$prof/visible_name" "$prof"
    rm -f -- "$file"
    export __TERM_PROF=$prof
}

function delete_one_random_profile() {
    regular="HACK_PROFILE_"
    prof=$(gconftool-2 --get /apps/gnome-terminal/global/profile_list | sed -n "s/.*\(HACK_PROFILE_..........\).*/\1/p")
    if [ ! -z "$prof"]; then
        echo "size ${#prof}"
        echo "size of regular ${#regular}"
        echo "DO DELETE of $prof"
        #if not empty
        gconftool-2 --type list --list-type string --set $prof_list "`gconftool-2 --get $prof_list | sed "s/$prof//;s/\[,/[/;s/,,/,/;s/,]/]/"`"
        gconftool-2 --unset "/apps/gnome-terminal/profiles/$prof"
    else
        echo "NOTHING TO DELETE"
    fi
}

function setcolord() {
    echo "Dont forget to change to Profile0 in the menu of your terminal->Change Profile->Profile_0"
    gconftool-2 --set "/apps/gnome-terminal/profiles/$__TERM_PROF/background_color" --type string white
    gconftool-2 --set "/apps/gnome-terminal/profiles/$__TERM_PROF/foreground_color" --type string black
}

function setcolor_cyan() {
    echo "Dont forget to change to $__TERM_PROF in the menu of your terminal->Change Profile->Profile_0"
    gconftool-2 --set "/apps/gnome-terminal/profiles/$__TERM_PROF/background_color" --type string "#8DCBCC"
    gconftool-2 --set "/apps/gnome-terminal/profiles/$__TERM_PROF/foreground_color" --type string black
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.