Page 1 of 1

SSH Colour Highlight on Mac

Posted: Mon Feb 12, 2007 3:11 am
by Ollie Saunders
I've found that when using SSH from the Mac OS X terminal I'm not getting all the nice colours some commands such as ls. When connecting to the same server using PuTTY on Windows the colours do appear. Any suggestions on how I can get the colours on mac?

Posted: Mon Feb 12, 2007 4:26 am
by Chris Corbyn
Change the terminal type from xterm to xterm-color. Your own files and stuff won't show up in color by default, but when you ssh to linux machines they will.

If you want that behaviour in OS X (personally, I always turn color off) then edit your .bashrc file.

EDIT | I should have elaborated

Code: Select all

export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

# prompt in colo for xterm-color, otherwise just plain
case "$TERM" in
xterm-color)
    PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    ;;
*)
    PS1='\u@\h:\w\$ '
    ;;
esac
The first two lines are for the ls command, the next lines are for the prompt. Put in .bash_profile if you don't have a .bash_profile. Usually .bash_profile includes .bashrc itself, but you can put the command straight into .bash_profile.

Posted: Mon Feb 12, 2007 4:52 am
by Ollie Saunders
OK, I've done all that. I get colours everywhere in terminal now except for SSH.

Posted: Mon Feb 12, 2007 4:54 am
by Chris Corbyn
Huh? SSH from where to where? The colors apply to the local machine only. If another server has it's .bashrc set up to disable color then you can't override that.

Posted: Mon Feb 12, 2007 4:58 am
by Ollie Saunders
This is .bashrc on the remote machine

Code: Select all

# ~/.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
#export HISTCONTROL=ignoredups

# 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 "$(lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" -a -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)
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:    \[\033[01;34m\]\w\[\033[00m\]\$ '
    ;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac

# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:       \[\033[01;34m\]\w\[\033[00m\]\$ '

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;
*)
    ;;
esac
# 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 color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
fi

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

# 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 ]; then
#    . /etc/bash_completion
#fi

Posted: Mon Feb 12, 2007 5:02 am
by Chris Corbyn
Did you remember to go Preferences -> Terminal Type -> xterm-color? Works fine for me. Is that sarge?

Posted: Mon Feb 12, 2007 5:07 am
by Ollie Saunders
Terminal Preferences wrote:Declare terminal type ($TERM) as: [ xterm-color ]
d11 wrote:Is that sarge?
No idea

Posted: Mon Feb 12, 2007 5:32 am
by Chris Corbyn
I just pasted that .bashrc into my home directory on my VDS then SSH'd to it and sure enough I got color :) I'm outta ideas if that's not working, sorry...

Posted: Mon Feb 12, 2007 5:38 am
by Ollie Saunders
Alright :(
Thanks for your attempts

Posted: Tue Feb 20, 2007 5:03 pm
by jyhm
Dude this is f##@% awesome man. I never thought to set up my term like a linux term, nor would I have known how. It's nice to have directories in a different color. Thanks guys!!

Posted: Wed Feb 21, 2007 1:22 am
by Chris Corbyn
Your OS X is a UNIX system :) Abuse the fact ;)