it-swarm.com.de

Terminalfarben funktionieren nicht

Ich greife über SSH von OSX auf einen Ubuntu 10.04.2 LTS-Server zu. Vor kurzem haben die Farben aufgehört zu arbeiten. Ich denke, dass es passiert ist, während ich RVM installiert/behoben habe, aber ich bin nicht sicher.

In .bashrc habe ich force_color_Prompt=yes nicht begonnen, und wenn ich env | grep TERM ausführe, erhalte ich TERM=xterm-color. Aber immer noch keine Farben.

Irgendwelche Ideen? Vielen Dank!

Hier ist die Ausgabe von cat .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'

# 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

[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
29
Matt Fordham

In/etc/skel befindet sich ein Beispiel für eine .bashrc-Datei. Sie können eine Sicherungskopie Ihrer aktuellen .bashrc-Datei mit mv .bashrc .bashrc.bak und dann cp /etc/skel/.bashrc .bashrc erstellen, um dieses Beispiel in Ihr Ausgangsverzeichnis zu kopieren. Danach entkommentieren Sie force_color_Prompt=yes in der neuen Datei und fügen [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" am Ende (letzte Zeile) der Datei hinzu, damit RVM weiterhin funktioniert.

Führen Sie danach . .bashrc an einer Eingabeaufforderung aus, um Ihr Bash-Profil neu zu laden. Daraufhin wird erneut eine farbige Eingabeaufforderung angezeigt. Testen Sie RVM mit dem Befehl type rvm | head -1, der den folgenden Text zurückgeben soll: rvm is a function

Wenn dies nicht funktioniert, teilen Sie uns bitte mit, ob Sie die Standard-Terminal-App unter Mac OS X verwenden und welches Profil Sie in Terminal auf Ihrem Mac verwenden.

26
Jayson Rowe

Die Farben haben aufgehört zu arbeiten, höchstwahrscheinlich nach dem Upgrade von Snow Leopard auf Lion .

In Lion wird das Terminal aus irgendeinem Grund standardmäßig als "xterm-256color" anstelle von "xterm-color" deklariert, was Ubuntu versteht.

Eine der Optionen ist für Sie, wie von früheren Respondern erwähnt, das Auskommentieren von force_color_Prompt=yes in ~/.bashrc.

Die andere Möglichkeit ist, das Terminal in Terminal.app als xterm-color neu zu deklarieren. So geht's:

  1. Starten Sie Terminal.app
  2. Gehen Sie zum Menü Terminal -> Einstellungen (oder verwenden Sie Cmd +,)
  3. Gehen Sie zur Registerkarte Settings und suchen Sie das als Standard festgelegte Thema
  4. Wechseln Sie zur Registerkarte Advanced
  5. Suchen Sie die Dropdown-Liste neben Declare terminal as: und setzen Sie sie auf xterm-color

Hier sind meine Einstellungen

UPDATE: Es scheint, dass Mountain Lion die Option xterm-color vollständig aus dem Dropdown-Menü entfernt hat. Wenn Sie ein Upgrade durchführen, behalten Sie höchstwahrscheinlich Ihre alte Konfiguration bei. Wenn Sie jedoch eine Neuinstallation durchführen, müssen Sie die Konfigurationsdatei des Terminals manuell bearbeiten. Dazu benötigen Sie einen Plist-Editor (enthalten in XCode , der über den App Store installiert werden muss). Der Speicherort der Terminal-Datei befindet sich in ~/Library/Preferences/com.Apple.Terminal.plist, um die Option xterm-color hinzuzufügen.

  1. Beenden Sie Terminal.app, wenn es gerade ausgeführt wird
  2. Installieren Sie XCode aus dem App Store (überspringen Sie diesen Schritt, wenn Sie es bereits installiert haben)
  3. $ open ~/Library/Preferences/com.Apple.Terminal.plist
  4. Navigieren Sie mit der Liste zu Root > Window Settings
  5. suchen Sie den Namen Ihres Standardthemas (in meinem Fall Pro), erweitern Sie es und suchen Sie den Schlüssel TerminalType.
  6. Ändern Sie nun einfach die Taste TerminalType manuell auf xterm-color
  7. speichern Sie die Datei und starten Sie Terminal.
9
Georgi
nano ~/.bashrc

Art Ctrl+W Wenn Sie force_color suchen, sollte das erste Ergebnis das f unmittelbar nach einem # -Zeichen markieren.

Drücken Sie Backspace und nun Ctrl+X, dann Y für Yes dann Enter.

source ~/.bashrc

oder

. ~/.bashrc

Sie sehen jetzt Farbe im Terminal.

Ich hoffe das klappt bei dir.

1
Asphyxia

Anstatt zu versuchen, das macOS Terminal zu zwingen, TERM als ältere xterm-Farbe zu melden, können Sie Ihre .bashrc-Datei unter Linux so ändern, dass xterm-256color als Farbclient erkannt wird. Dies scheint die Standardeinstellung für neuere Versionen von Ubuntu zu sein. Ändern Sie dazu diese Zeile:

xterm-color) color_Prompt=yes;;

zu:

xterm-color|*-256color) color_Prompt=yes;;

Führen Sie dann source .bashrc aus, und Ihr Terminal wird in Farbe angezeigt.

0
Greg Glockner

Eine Alternative besteht darin, eine .bash_login -Datei zu erstellen, falls diese noch nicht in Ihrem Home-Verzeichnis vorhanden ist, und .bashrc darin abzulegen.

Schließen Sie das Terminal und öffnen Sie es erneut - Ihr Problem sollte gelöst sein!

0