July 2008

You are currently browsing the monthly archive for July 2008.

Gd’day Folks.

In addition to setting my browser homepage to show a random (and often interesting) wikipedia page upon launch – I have made some tweaks in my daily workflow to ensure that I am greeted with interesting factoids and knowledge from around the globe whenever I open up a browser or – as I will briefly show you today: our good old terminal.

In order to make this happen, you will need to:

1.) Install fortune – which essentially displays amusing quotes from a database (which itself is editable for your own additions in the future). This might vary based on your distribution. Just search around your package manager. (pacman, apt-get, portage etc.) If you are using Arch, it’s basically: pacman -S fortune

2.) Install figlet – this is optional – but recommended if you want to be l33t and cool. It will serve us by making our text much more appealing than its default state.

3.) Edit ~/.bashrc to include the following:

#!/bin/bash
#------------------------------------------////
# Lapbox ~/.bashrc file
# Last Modified 26 February 2008
# Running on Arch Linux - Greymask
# Credit to Lenny for the original ~/.bashrc
#------------------------------------------////
#------------------------------------------////
# Colors:
#------------------------------------------////

black='e[0;30m'
blue='e[0;34m'
green='e[0;32m'
cyan='e[0;36m'
red='e[0;31m'
purple='e[0;35m'
brown='e[0;33m'
lightgray='e[0;37m'
darkgray='e[1;30m'
lightblue='e[1;34m'
lightgreen='e[1;32m'
lightcyan='e[1;36m'
lightred='e[1;31m'
lightpurple='e[1;35m'
yellow='e[1;33m'
white='e[1;37m'
nc='e[0m'

#------------------------------------------////
# Aliases:
#------------------------------------------////

## make ls list by size
##alias ls='du -s */* | sort -n'
alias findbig='find . -type f -exec ls -s {} ; | sort -n -r | head -5'
alias ports='netstat -nape --inet'
alias steves='ssh -p XXXXXX XXXXXXXXXXXX'
alias 150='ssh -l founder -p XXXXXX XXXXXXXXXXXX'
alias ping='ping -c 4'
alias ns='netstat -alnp --protocol=inet'
alias search='aptitude search'
alias ls='ls -F --color=always'

#------------------------------------------////
# Functions and Scripts:
#------------------------------------------////

# don't put duplicate lines in the history. See bash(1) for more options
# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoreboth

##WOOT!

localnet ()
{
ifconfig | awk '/inet / {print $2}'
}

upinfo ()
{
echo -ne "${cyan}$HOSTNAME ${cyan}uptime: ${cyan} ";uptime | awk /'up/ {print $3,$4,$5,$6,$7,$8,$9,$10}'
}
##cd()
##{
## if [ -n "$1" ]; then
##    builtin cd "$@" && ls
##  else
##    builtin cd ~ && ls
##  fi
##}

encrypt ()
{
gpg -ac --no-options "$1"
}

decrypt ()
{
gpg --no-options "$1"
}

extract()
{
if [ -f "$1" ] ; then
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.tar.Z) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.jar) unzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1" ;;
*) echo "'$1' cannot be extracted." ;;
esac
else
echo "'$1' is not a file."
fi
}

#------------------------------------------////
# Some default .bashrc contents:
#------------------------------------------////

# 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
# 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" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi
#PS1='${debian_chroot:+($debian_chroot)}[\033[01;32m]u@h[\033[00m]:[\033[01;34m]w[\033[00m]$ '

#------------------------------------------////
# Prompt:
#------------------------------------------////

PS1='[e[1;32m]u[e[m] [e[1;34m]w[e[m] [e[1;32m]$[e[m] [e[1;37m]'

#------------------------------------------////
# System Information:
#------------------------------------------////

clear
echo -e "${darkgray}";figlet "HI JOHN DOE";
echo -ne "${cyan}Today is: ${cyan}" `date`; echo ""
echo -e "${lightgray}"; fortune
#echo -e "${cyan}Kernel Information: t${cyan}" `uname -smr`
#echo -ne "${cyan}";localnet;echo ""

This is the result of the above listed ~/.bashrc file

Arch Linux Quote on Terminal Session Fortune

Nifty huh? I have mine greet me with my name since I am such a narcissistic bastard, but you can pretty much do anything you want. If you look carefully, the last screenshot also shows the “current” day and time along with a quote pulled from fortune. Also, if you notice, there are A LOT more additional options included in my ~/.bashrc so feel free to uncomment/comment things out and modify it till you are happy with the setup.