Jump to content

Using a Color Scheme with Putty?


Jessica

Recommended Posts

I mainly use vim for things like editing config files or quick edits on the server.  For "real work" I use edit+ to either edit local copies (if it's a site in SVN) or edit remotely via SFTP (built into editor).  Of all the commandline editors VIM is the one I prefer though.  I know enough commands to do a pretty decent job.  I also tend to get into a always state of typing :wq into everything if I've spent a day editing config files or something lol.

 

Link to comment
Share on other sites

*Mahngiel likes nano. I've never felt the need to use a shell editor, seems too 1980s.  Instead, I uses an SFTP capable editor (bluefish isn't the most feature-rich, but it works with remote files very fast).  [/me]

 

Hopefully you find a reasonable answer, though.

 

edit: lol @ the [me][/me] tag

Link to comment
Share on other sites

  • 2 weeks later...

Has anyone ever used a custom color scheme with putty? I am trying to use Solarized, which I use for my Windows text editor, in Putty and vim. vim is working fine, but in Putty now everything is just the plain grey text, none of the other colors are being used. The background is the correct grey and the text is one of the greys in the scheme, but for example when I do ls -a, EVERYTHING is still grey. Is there a trick to getting it to use different colors for different things?

 

It sounds like you got the end result you wanted but just to be complete I wanted to reply with another way to get the same end result which is independent of putty.

The shell you connect to using putty uses environmental variables in order to relay different types of preferences/parameters to the programs running in the shell.

The variable used to set the colors of ls is "LS_COLORS". The best way to configure this is by using the dircolor command and a config file in your users directory.

 

dircolors -p > ~/.dircolors
# This command takes a default configuration for the color settings and stores the file in your users home directory called ".dircolors"

 

If you open this file it should look similar to below

 

# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# Copyright (C) 1996, 1999-2008
# Free Software Foundation, Inc.
# Copying and distribution of this file, with or without modification,
# are permitted provided the copyright notice and this notice are preserved.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM eterm-color
TERM gnome
TERM gnome-256color
TERM konsole
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM putty
TERM rxvt
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM screen
TERM screen-256color
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-88color
TERM xterm-color
TERM xterm-debian

# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

NORMAL 00 # global default, although everything should be something.
FILE 00 # normal file
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# If you use DOS-style suffixes, you may want to uncomment the following:
#.cmd 01;32 # executables (bright green)
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
# Or if you want to colorize scripts even if they do not have the
# executable bit actually set.
#.sh 01;32
#.csh 01;32
# archives or compressed (bright red)
.tar 01;31
.tgz 01;31
.svgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.lzma 01;31
.zip 01;31
.z 01;31
.Z 01;31
.dz 01;31
.gz 01;31
.bz2 01;31
.bz 01;31
.tbz2 01;31
.tz 01;31
.deb 01;31
.rpm 01;31
.jar 01;31
.rar 01;31
.ace 01;31
.zoo 01;31
.cpio 01;31
.7z 01;31
.rz 01;31

# image formats
.jpg 01;35
.jpeg 01;35
.gif 01;35
.bmp 01;35
.pbm 01;35
.pgm 01;35
.ppm 01;35
.tga 01;35
.xbm 01;35
.xpm 01;35
.tif 01;35
.tiff 01;35
.png 01;35
.svg 01;35
.mng 01;35
.pcx 01;35
.mov 01;35
.mpg 01;35
.mpeg 01;35
.m2v 01;35
.mkv 01;35
.ogm 01;35
.mp4 01;35
.m4v 01;35
.mp4v 01;35
.vob 01;35
.qt 01;35
.nuv 01;35
.wmv 01;35
.asf 01;35
.rm 01;35
.rmvb 01;35
.flc 01;35
.avi 01;35
.fli 01;35
.gl 01;35
.dl 01;35
.xcf 01;35
.xwd 01;35
.yuv 01;35
# audio formats
.aac 00;36
.au 00;36
.flac 00;36
.mid 00;36
.midi 00;36
.mka 00;36
.mp3 00;36
.mpc 00;36
.ogg 00;36
.ra 00;36
.wav 00;36

 

Now it's time to edit the file, you can use vi/vim, nano, etc, I myself prefer jmacs

jmacs ~/.dircolors

 

You'll notice that included in the file are the color settings

 

# Below are the color init strings for the basic file types. A color init string consists of one or more of the following numeric codes:

# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed

# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white

# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

 

The majority of the file consists of the configuration value followed by the color settings.

For example

DIR 01;34 # directory

 

Above is the configuration to set the directories to bold and to set the color of the text to blue.

 

If you wanted to change this setting to make the text yellow you would change 34 to 33.

 

DIR 01;33 # directory

 

If you wanted the text to be yellow and the backgroud to blue you would put

 

DIR 01;33;44 # directory

 

The LS_COLOR variable is set when you first login to your shell, usually through your .bashrc file (if you're using bash) so after changing the .dircolors file you have to execute

eval `dircolors -b ~/.dircolors`

in order to update the variable with your new settings.

 

You will want to check your ~/.bashrc file and make sure it has a command to check for your .dircolors. If it doesn't you can add the below command to the end of the file to take care of that.

eval `dircolors -b ~/.dircolors`

 

I prefer this method of setting the colors since it works regardless of what computer you are connecting from. The only down side of this is if you connect to hundreds of different servers then it would require you to have your .dircolors file on all the servers in order for them all to look the same unless you had a global user directory that was on some type of NAS/SAN.

Link to comment
Share on other sites

I kinda looked into this since I was curious. The default settings for that theme have both the default foreground and bold blue set to the same gray color, which may have been part of the initial "everything is gray?" confusion. The default directory colors for ls have directories set to bold blue so in a default putty theme you'd see them as a darker blue while the files are white (unless otherwise colored), but with the new theme they are both gray.

 

The solution is to either change the color codes in the putty settings for bold blue to be a different color, or change your LS_COLORS variable (via the dircolors command/file) to something else.

 

Any other application would have a similar solution, either change putty or find a way to change which colors the app uses.

 

 

so tl;dr version: The color scheme applied fine, but 'bold blue' is coded to be the same as the default foreground color.

 

 

Link to comment
Share on other sites

  • 3 weeks later...

Btw there is actually a nice alternative to putty if you don't bother installing cygwin on your windows system.

 

http://smarterware.org/1118/mintty-gives-cygwin-a-native-windows-interface

 

The look and feel is like a native linux terminal even with transparancy.

I have recently switched from putty yo mintty

 

Setting the colors there is described here

http://code.google.com/p/mintty/issues/detail?id=145

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.