webentwicklung-frage-antwort-db.com.de

Kann nicht die richtigen Farben im Gnome-Terminal bekommen

Ich möchte ein base16-Farbschema von hier verwenden. Die Schritte, denen ich folgte:

  1. repo geklont
  2. lief die Skripte
  3. änderte das Terminal-Profil zu base16-default (was die Farben änderte)

Dies ist das Ergebnis im Vergleich zum Screenshot in der Readme-Datei des Repository.

screenshot

Ich laufe 12.04. Hier noch ein paar Infos.

$ echo $TERM
xterm 
$ echo $COLORTERM
gnome-terminal

Und mein .bashrc.

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(Shell=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the Prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy Prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_Prompt=yes;;
esac

# uncomment for a colored Prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the Prompt
#force_color_Prompt=yes

if [ -n "$force_color_Prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_Prompt=yes
else
color_Prompt=
fi
fi

if [ "$color_Prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ '
fi
unset color_Prompt force_color_Prompt

# If this is an xterm set the title to [email protected]:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1"
;;
*)
;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi

Warum werden in meinem Terminal falsche Farben angezeigt?

6

Das base16-default.dark.sh -Skript in base16-gnome-terminal installiert das Standard-Dark-Profil von Base 16 für das Gnome-Terminal. Um es tatsächlich nutzen zu können, müssen Sie das Profil über das Terminal aktivieren Profil ändern Basis 16 Standard Dunkel , wodurch das Profil auf die aktuelle Sitzung angewendet wird.

Sie möchten es wahrscheinlich als Standardprofil verwenden. Dazu müssen Sie zu den Profileinstellungen über Bearbeiten Profile… und wählen Sie das Profil, das beim Starten eines neuen Terminals verwendet wird .

Zusätzlich verfügt das Gnome-Terminal über eine 256-Farben-Unterstützung, die Sie möglicherweise aktivieren möchten. Dazu müssen Sie das Skript source base16-default.dark.sh von base16-Shell ausführen. Um die Änderungen dauerhaft zu machen, fügen Sie die folgenden Zeilen zu Ihrer ~./bashrc -Datei hinzu, vorausgesetzt, Sie verwenden bash:

# Base16 Shell
BASE16_Shell="$HOME/.config/base16-Shell/base16-default.dark.sh"
[[ -s $BASE16_Shell ]] && source $BASE16_Shell

Versuchen Sie, das Skript colortest aus dem base16-Shell-Repository in einer neuen Terminalsitzung auszuführen, um festzustellen, ob alles funktioniert hat.

2
Max

Die Gnome-Terminal-Profile für base16 scheinen nur 10 der 16 Farben zu verwenden. Es kann ein Fehler sein. Ich habe es als dieses Problem im base16-Builder-Repository gemeldet.

Ich denke, dies bedeutet, dass die einzige Lösung im Moment darin besteht, entweder das Problem im Builder der Basis 16 zu beheben oder die 16 Farben in Gnome Terminal manuell festzulegen.

0
Andrew Moylan

Wenn ich mich nicht irre, sollten Sie auch das entsprechende Shell-Skript in Ihrem bashrc ausführen.

https://github.com/chriskempson/base16-Shell

0
Merstzik