Saya mengakses server Ubuntu 10.04.2 LTS melalui SSH dari OSX. Baru-baru ini warnanya berhenti bekerja. Saya pikir itu terjadi ketika saya menginstal / troubleshooting RVM, tetapi saya tidak positif.
Di .bashrc saya uncommeneted force_color_prompt=yes
, dan ketika saya menjalankan env | grep TERM
saya dapatkan TERM=xterm-color
. Tapi tetap tidak ada warna.
Ada ide? Terima kasih!
Ini adalah output dari 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\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\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"
command-line
Matt Fordham
sumber
sumber
cat ~/.bashrc
Tolong tambahkan output untuk pertanyaan Anda!Jawaban:
Ada sampel, file .bashrc default yang terletak di / etc / skel - Anda dapat membuat cadangan dengan .bashrc saat ini dengan
mv .bashrc .bashrc.bak
dan kemudiancp /etc/skel/.bashrc .bashrc
menyalin sampel itu kembali ke direktori home Anda. Setelah itu, hapus komentarforce_color_prompt=yes
di file baru dan tambahkan[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
kembali ke akhir (baris terakhir) dari file sehingga RVM masih berfungsi.Setelah itu, jalankan
. .bashrc
pada prompt untuk memuat kembali profil bash Anda, yang akan memberi Anda prompt berwarna lagi dan menguji RVM dengan perintahtype rvm | head -1
yang akan mengembalikan teks:rvm is a function
Jika ini tidak berhasil, beri tahu kami jika Anda menggunakan aplikasi Terminal standar pada Mac OS X, dan profil apa yang Anda gunakan di Terminal pada Mac Anda.
sumber
Warna-warna telah berhenti bekerja, kemungkinan besar setelah Anda meng-upgrade ke Lion dari Snow Leopard .
Dalam Lion, untuk beberapa alasan, secara default terminal dinyatakan sebagai " xterm-256color " dan bukan " xterm-color " yang dipahami Ubuntu.
Salah satu opsi adalah untuk Anda, sebagaimana disebutkan oleh responden sebelumnya, batalkan komentar
force_color_prompt=yes
dalam~/.bashrc
Pilihan lain adalah untuk mendeklarasikan ulang di Terminal. Aplikasi terminal sebagai xterm-color. Berikut cara melakukannya:
Settings
tab dan temukan tema yang ditetapkan sebagai bawaanAdvanced
tabDeclare terminal as:
dan atur ke xterm-colorIni Pengaturan saya
UPDATE : Tampaknya Mountain Lion menghapus opsi xterm-color sepenuhnya dari menu drop down. Jika Anda melakukan upgrade, kemungkinan besar Anda akan menyimpan konfigurasi lama Anda, tetapi jika Anda melakukan instalasi baru, Anda harus mengedit file konfigurasi Terminal secara manual dan untuk itu Anda akan memerlukan editor plist (termasuk dalam XCode yang membutuhkan untuk diinstal melalui App Store). Lokasi file Terminal ada di ~ / Library / Preferences / com.apple.Terminal.plist untuk menambahkan opsi xterm-color lakukan hal berikut:
$ open ~/Library/Preferences/com.apple.Terminal.plist
Root > Window Settings
TerminalType
kuncinya.TerminalType
key menjadi xterm-color secara manualsumber
Ketik Ctrl+ Wdan cari
force_color
, hasil pertama harus menyorotf
, hanya setelah#
karakterTekan Backspacedan sekarang Ctrl+ X, lalu Yuntuk
Yes
, lalu Enter.atau
Anda sekarang akan melihat warna di terminal.
Saya harap ini berhasil untuk Anda.
sumber
Salah satu alternatif yang Anda miliki adalah membuat
.bash_login
file jika belum ada di direktori home Anda, dan masukkan ke.bashrc
dalamnya.Tutup terminal dan buka kembali - masalah Anda harus diselesaikan!
sumber
Daripada mencoba memaksa Terminal macOS untuk melaporkan TERM sebagai warna xterm yang lebih lama, Anda dapat mengubah .bashrc Anda di Linux untuk mengenali xterm-256color sebagai klien warna. Ini tampaknya menjadi default untuk versi Ubuntu yang lebih baru. Untuk melakukan ini, ubah baris ini:
untuk:
Kemudian jalankan
source .bashrc
dan terminal Anda akan ditampilkan dalam warna.sumber