linux

You are currently browsing articles tagged linux.

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.

If you are still staring at a boringly bland black login screen after boot up – saddle up buttercup. Today we will edit /etc/issue with some neat looking ASCII Art to add some spice to your bootup experience. Naturally, I will be using a Arch Linux inspired piece of art work to make this happen.

So How Do You Do It?

Dead simple actually.

1.) Open up /etc/issue with your favorite text editor (vi, nano, leafpad etc.) and paste the following directly into it:


        ,                       _     _ _                      | s r
       /#\        __ _ _ __ ___| |__ | (_)_ __  _   ___  __    |
      /###\      / _` | '__/ __| '_ \| | | '_ \| | | \ \/ /    | t
     /#####\    | (_| | | | (__| | | | | | | | | |_| |>  <     | d
    /##,-,##\    \__,_|_|  \___|_| |_|_|_|_| |_|\__,_/_/\_\    |
   /##(   )##\                                                 | U
  /#.--   --.#\    simple, elegant and d*****a uses it. =)     |
 /`           `\                                               | l on n 

You can issue a quick cat /etc/issue to get a general idea of how this will look like – but for full effect you will need to restart/logout from your current session.

When it’s all said and done, upon boot up – you should see a screen similar to the one below:

Arch Linux /etc/issue Logo on Login

Additionally, if you would like to modify what is shown when Arch boots up, you can edit /etc/rc.sysinit – which is the default startup script that is responsible for configuring hardware and initializing startup tasks. As always, this is usually just a starting point in terms of modifying your *nix setup. Just play around with it till you are satisfied with it.

Credit to dav7 and rson451 for creating the cool ASCII art 🙂