Linux Configurations. My general Linux tips and commands page.

Linux Configurations.

CD burning Tutorial. (Updated!) Burning Ghost Images.

Playing DVD discs on Debian Testing.

The Debian Stable distribution is a very fast and reliable distribution to play multimedia, the best player is the mplayer program. Install the mplayer application by typing su -c “apt-get install mplayer mplayer-gui”. Then the libdvdcss library which is necessary for playing DVD discs may be installed by visiting this page: http://download.videolan.org/pub/libdvdcss/1.2.9/ and downloading the libdvdcss-1.2.9.tar.bz2 tarball. Once this is downloaded, open a terminal window, navigate to the folder containing the tarball and unpack it thusly: tar -jxvf libdvdcss-1.2.9.tar.bz2, then enter the folder created and compile the library thusly.

./configure --prefix=/usr/local
make
make install

Once this is completed the DVD playback will work.

Finding out which package contains which utility on OpenSuse.

bash ~/$ cnf locate
 
locate: searching ...
The program 'locate' can be found in following packages:
  * findutils-locate [ path: /usr/bin/locate, repository: zypp (openSUSE-11.3 11.3-1.82) ]
  * findutils-locate [ path: /usr/bin/locate, repository: zypp (repo-oss) ]
 
Try installing with:
    sudo zypper install findutils-locate

Updating the Linux packages.

This is very easy on OpenSuse 11.3, just type these commands into a terminal prompt as root and press ENTER. This will update the package repositories and then download any required package updates and install them.

OpenSuse.

sudo zypper ref && sudo zypper up

Ubuntu.

sudo apt-get update && sudo apt-get upgrade

Copying a file in Linux.

Just type this command in the Terminal to copy a file such as a textfile from
one file to another. Like using /bin/cp.

/bin/dd bs=1 if=file1.txt of=file2.txt

Linux mencoder usage.

This script is off the mplayer mailing lists, it will encode a video into mpeg4 format that will play perfectly on a Sony Ericsson mobile phone. I have been looking for something like this for a while. The 3gp format is alright, but
mpeg4 is the way of the future. I am using 24 frames per second instead of 15, that looks better. I have a Sony Ericsson G502 and I had a W910i and this worked on both of them. You do not need more than 320×240 to view on a small mobile
screen, this gives you good quality.

#!/bin/sh
 
mencoder vidin.avi -ofps 24 -oac lavc -ovc lavc -lavcopts vglobal=1:\
aglobal=1:acodec=libfaac:abitrate=98:vcodec=mpeg4:level=31 -of lavf \
-lavfopts format=mp4 -vf scale=320:240 -o vidout.mp4

This is my mencoder.conf file which you put into the ~/.mplayer folder. I
have got these settings from various places on the web and I have only tried out
the mpeg4 profile yet but it worked perfectly transcoding a youtube video
download that had poor audio and video sync. Fixed it right up. You use these
profiles by typing, mencoder -profile [profilename] e,g mencoder -profile mpeg4.
Makes things easier.

[dvd-ntsc]
    profile-desc="MPEG2 (NTSC DVD) video AC3 audio"
    ovc=lavc=yes
    lavcopts=vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:abitrate=192:autoaspect=yes
    of=mpeg=yes
    mpegopts=format=dvd:tsaf=yes
    vf=scale=720:480,harddup,softskip
    ofps=30000/1001
    srate=48000
    af=lavcresample=48000
    oac=lavc=yes
 
[dvd-ntsc-hq]
    profile-desc="MPEG2 HQ (NTSC DVD) video AC3 audio"
    profile=dvd-ntsc
    lavcopts=trell=yes:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp=yes:mv0=yes:vqmin=1:lmin=1:dc=10
 
[mpeg4]
    profile-desc="MPEG4 video"
    ovc=lavc=1
    oac=mp3lame=1
    ovc=lavc=1
    oac=mp3lame=1
    lameopts=preset=standard
    lavcopts=vcodec=mpeg4:vbitrate=1200
 
[x264-mp4]
    profile-desc="H.264     MP4 DvD Rip Wide AAC (2.35:1) (960:400) Good files size and picture"
    vf=pullup,softskip,pp=fd,scale=960:-10,crop=960:400,hqdn3d,harddup
    lavfopts=format=mp4
    ovc=x264=yes
    x264encopts=level_idc=40:dct_decimate:me=hex:me_range=16:keyint=250:keyint_min=25:fast_pskip:partitions=all:8x8dct=yes:direct_pred=auto:nomixed_refs:trellis=1:nob_pyramid:b_adapt=1:weight_b:bframes=0:threads=auto:frameref=1:subq=6:crf=22
    ofps=29.97
    oac=faac=yes
    faacopts=br=160:mpeg=4:raw=yes:object=1
    of=lavf=yes
    af=volnorm=1

This script will transcode a video file or DVD to Divx format.

#!/bin/bash
 
#divxrip
 
mencoder $1 -ovc lavc -lavcopts vcodec=mpeg4 \
-ffourcc DIVX -vf scale -zoom -xy 720 -vf-add crop=720:576 \
-oac mp3lame -lameopts cbr:br=128 -o $2.avi

Use it like this, this will rip a DVD to a file called myvid.avi.

divxrip dvd://1 myvid

My ~/.bashrc.

My .bashrc file. This is the file I use for my day to day Linux tasks. The
prompt shows the time as well as the [email protected] in the prompt. The prompt will
also work flawlessly in the text console if your machine is a server and is not
running XFree86.

#!/bin/bash
# mode:shell-script
# sh-shell:bash
# Modified to work on Open Solaris. Much better than FreeBSD.
# There are still problems with ls but I am working on that.
# Bejiitas Wrath ~/.bashrc.
[ -f /etc/bashrc ] && . /etc/bashrc
[ -f /etc/profile ] && . /etc/profile
 
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
 
OSRELEASE=`uname -r`;
DOOMWADDIR=/usr/local/share/games/doom
PATH=$PATH:~/bin:/tools/bin
 
# Author: John Cartwright.
# Website: http://www.securitronlinux.com
# I am including many useful if statements in this
# .bashrc so that if a needed program is not installed
# it will still give some alternate output.
 
# Setting a blinking block cursor for the console.
#  echo -e '\033[?6c'
 
# try to set DISPLAY smart (from Hans) :)
# From a SUSE .bashrc file.
#
if test -z "$DISPLAY" -a "$TERM" = "xterm" -a -x /usr/bin/who ; then
	WHOAMI="`/usr/bin/who am i`"
	_DISPLAY="`expr "$WHOAMI" : '.*(\([^\.][^\.]*\).*)'`:0.0"
	if [ "${_DISPLAY}" != ":0:0.0" -a "${_DISPLAY}" != " :0.0" \
		-a "${_DISPLAY}" != ":0.0" ]; then
		export DISPLAY="${_DISPLAY}";
	fi
	unset WHOAMI _DISPLAY
fi
 
export EDITOR=mcedit
export DOOMWADDIR="/usr/local/games/doom" # For doom!
export TIME_STYLE=+" %d-%m-%y %I:%M %P"
# These two examples from bash-doc.
export PAGER="/usr/bin/less"
export VIEWER="mcedit"
export LESS="-i -e -M -P%t?f%f :stdin .?pb%pb\%:?lbLine %lb:?bbByte %bb:-..."
shopt -s checkwinsize
eval `dircolors -b`
alias dir='ls --format="vertical"'
alias lu='ls -hula'
alias vdir='ls --format="long"'
alias verbosetree='tree -A -s -p -f --dirsfirst'
alias psverbose='ps u a x f g'
alias ll='ls -l | sort -nr'
alias la='ls -A'
alias l='ls -CF'
alias dsize="du -ack | sort -nr | head -n 20"
alias psview="pstree -a -u -G -l -h -p"
 
# These following functions from
# http://www.die.net/doc/linux/abs-guide/sample-bashrc.html
function my_ip() # get IP adresses. Bracket on next line C style...
{
    MY_IP=$(/sbin/ifconfig ppp0 | awk '/inet/ { print $2 } ' | sed -e s/addr://)
    MY_ISP=$(/sbin/ifconfig ppp0 | awk '/P-t-P/ { print $3 } ' | sed -e s/P-t-P://)
}
 
function lowercase()  # move filenames to lowercase.
{
    for file ; do
        filename=${file##*/}
        case "$filename" in
        */*) dirname==${file%/*} ;;
        *) dirname=.;;
        esac
        nf=$(echo $filename | tr A-Z a-z)
        newname="${dirname}/${nf}"
        if [ "$nf" != "$filename" ]; then
            mv "$file" "$newname"
            echo "lowercase: $file --> $newname"
        else
            echo "lowercase: $file not changed."
        fi
    done
}
 
function badlink()
# From Atomic magazine #43 August 2004. http://www.atomicmpc.com.au
{
	DEFAULT=$(tput sgr0);
	FILELIST=.badlink.list
 
	[ -e $FILELIST ] && $( rm -fr $FILELIST )
 
	function checklink()
	{
		for badlink in $1/*; do
			[ -h "$badlink" -a ! -e "$badlink" ] && echo \
			\"$badlink\" >> $FILELIST
			[ -d "$badlink" ] && checklink $badlink
		done
	}
 
	for directory in `pwd`; do
		if [ -d $directory ] ; then
			checklink $directory;
		fi
	done
 
	if [ -e $FILELIST ] ; then
		for line in $(cat $FILELIST); do
			echo $line | xargs -r rm | echo -e "$line \
			-removed"
			echo
		done
		rm -fr $FILELIST
	else
		printf "Bad symlinks not found.\n\n"
	fi
} # End Atomic function.
 
function grephist()
{
	grep $1 ~/.history/history
}
 
source cd_func.sh
 
#echo "On this day in the GNU/Linux epoch."
#echo
 
#/bin/grep "$(date +'%m/%d')" ~/bin/calendar.computer
 
# Setting the value of the Xterm title.
# Only if we are in X...
if [ $DISPLAY ] ; then
	PROMPT_COMMAND='echo -ne "\033]0;${OSRELEASE}: ${PWD}\007"'
fi
 
if [ -x /usr/bin/finger ] ; then
   INFO=$(finger -lmps $LOGNAME | sed -e "s/On/Logged in/g" | grep "since" )
else
   INFO=$(uname -msov)
fi
 
echo -ne "${INFO}\n"
 
if [ $DISPLAY ] ; then  # Testing for either xterm or rxvt or uxvt or uxterm...
	# etc. Works in a xterm on Open Solaris just fine...
	PS1='\n[ \e[041m\e[40m\e[37m\e[1m\u@${OSRELEASE}\e[41m\e[0m ]\n[ \
\e[033mJobs \j.\e[0m\e[30m\e[41m\e[1m\e[33mPWD: \w.\s \V.\e[0m ] [\e[4m \# \
\e[0m]\n[ \t ]\n[ \$ ]-> '
	PS2='--> '
fi
 
# Outside of X we use this!
if [ "$TERM" == "linux" ]; then
	PS1='\e[31m\e[40m\e[37m\e[1m\u@${OSRELEASE}.\e[0m\n \e[30m\e[41m\e[1m \
\e[33mPWD\w.\e[0m \
\s.\n \V. \# \$> '
fi
 
# Outside of xinit we use this! For Open Solaris. Which rules over FreeBSD Btw.
if [ "$TERM" == "sun-color" ]; then
	PS1='\u@${OSRELEASE}.\n PWD: \w. \s.\n \V. \# \$> '
fi
 
# The following code from http://www.die.net/doc/linux/abs-guide/sample-bashrc.html
 
if [ "${BASH_VERSION%.*}" \< "2.05" ]; then
	echo "You will need to upgrade to version 2.05 for programmable completion"
	return
fi
 
shopt -s extglob        # necessary
set +o nounset	    # otherwise some completions will fail
 
complete -A hostname   rsh rcp telnet rlogin r ftp ping disk
complete -A command    nohup exec eval trace gdb
complete -A command    command type which
complete -A export     printenv
complete -A variable   export local readonly unset
complete -A enabled    builtin
complete -A alias      alias unalias
complete -A function   function
complete -A user       su mail finger
 
complete -A helptopic  help     # currently same as builtins
complete -A shopt      shopt
complete -A stopped -P '%' bg
complete -A job -P '%'     fg jobs disown
 
complete -A directory  mkdir rmdir
complete -A directory   -o default cd
 
complete -f -d -X '*.gz'  gzip
complete -f -d -X '*.bz2' bzip2
complete -f -o default -X '!*.gz'  gunzip
complete -f -o default -X '!*.bz2' bunzip2
complete -f -o default -X '!*.pl'  perl perl5
complete -f -o default -X '!*.ps'  gs ghostview ps2pdf ps2ascii
complete -f -o default -X '!*.dvi' dvips dvipdf xdvi dviselect dvitype
complete -f -o default -X '!*.pdf' acroread pdf2ps
complete -f -o default -X '!*.+(pdf|ps)' gv
complete -f -o default -X '!*.texi*' makeinfo texi2dvi texi2html texi2pdf
complete -f -o default -X '!*.tex' tex latex slitex
complete -f -o default -X '!*.lyx' lyx
complete -f -o default -X '!*.+(jpg|gif|xpm|png|bmp)' xv gimp
complete -f -o default -X '!*.mp3' mpg123
complete -f -o default -X '!*.ogg' ogg123
 
#=====================================================================================#
# This is a 'universal' completion function - it works when commands have
# a so-called 'long options' mode , ie: 'ls --all' instead of 'ls -a'
_universal_func ()
{
    case "$2" in
	-*)	;;
	*)	return ;;
    esac
 
    case "$1" in
	\~*)	eval cmd=$1 ;;
	*)	cmd="$1" ;;
    esac
    COMPREPLY=( $("$cmd" --help | sed  -e '/--/!d' -e 's/.*--\([^ ]*\).*/--\1/'| \
grep ^"$2" |sort -u) )
}
complete  -o default -F _universal_func ldd wget bash id info
 
_make_targets ()
{
    local mdef makef gcmd cur prev i
 
    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}
 
    # if prev argument is -f, return possible filename completions.
    # we could be a little smarter here and return matches against
    # `makefile Makefile *.mk', whatever exists
    case "$prev" in
        -*f)    COMPREPLY=( $(compgen -f $cur ) ); return 0;;
    esac
 
    # if we want an option, return the possible posix options
    case "$cur" in
        -)      COMPREPLY=(-e -f -i -k -n -p -q -r -S -s -t); return 0;;
    esac
 
    # make reads `makefile' before `Makefile'
    if [ -f makefile ]; then
        mdef=makefile
    elif [ -f Makefile ]; then
        mdef=Makefile
    else
        mdef=*.mk               # local convention
    fi
 
    # before we scan for targets, see if a makefile name was specified
    # with -f
    for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do         if [[ ${COMP_WORDS[i]} == -*f ]]; then             eval makef=${COMP_WORDS[i+1]}       # eval for tilde expansion             break         fi     done         [ -z "$makef" ] && makef=$mdef     # if we have a partial word to complete, restrict completions to     # matches of that word     if [ -n "$2" ]; then gcmd='grep "^$2"' ; else gcmd=cat ; fi     # if we don't want to use *.mk, we can take out the cat and use     # test -f $makef and input redirection     COMPREPLY=( $(cat $makef 2>/dev/null | awk 'BEGIN {FS=":"} /^[^.#   ][^=]*:/ {print $1}' | tr -s ' ' '\012' | sort -u | eval $gcmd ) )
}
 
complete -F _make_targets -X '+($*|*.[cho])' make gmake pmake
 
_configure_func ()
{
    case "$2" in
        -*)     ;;
        *)      return ;;
    esac
 
    case "$1" in
        \~*)    eval cmd=$1 ;;
        *)      cmd="$1" ;;
    esac
 
    COMPREPLY=( $("$cmd" --help | awk '{if ($1 ~ /--.*/) print $1}' | grep ^"$2" | sort -u) )
}
 
complete -F _configure_func configure
 
# cvs(1) completion
_cvs ()
{
    local cur prev
    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}
 
    if [ $COMP_CWORD -eq 1 ] || [ "${prev:0:1}" = "-" ]; then
	COMPREPLY=( $( compgen -W 'add admin checkout commit diff \
	export history import log rdiff release remove rtag status \
	tag update' $cur ))
    else
	COMPREPLY=( $( compgen -f $cur ))
    fi
    return 0
}
complete -F _cvs cvs
 
_killall ()
{
    local cur prev
    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
 
    # get a list of processes (the first sed evaluation
    # takes care of swapped out processes, the second
    # takes care of getting the basename of the process)
    COMPREPLY=( $( /usr/bin/ps -u $USER -o comm  | \
        sed -e '1,1d' -e 's#[]\[]##g' -e 's#^.*/##'| \
        awk '{if ($0 ~ /^'$cur'/) print $0}' ))
 
    return 0
}
 
complete -F _killall killall killps
 
# End: Bejiitas Wrath .bashrc.

This file will be more than sufficient for the user who wants to have a
customised BASH shell prompt that is more useful than the standard offerings
that come with Debian and Mandrake alike.

Icewm preferences file.

My ICEWM preferences file. from $HOME/.icewm/preferences. This file has a
nice friendly time format and a good Win95 styled theme.

# This configuration file automatically generated by 1.1--your friendly pythonated config util.
 
# Focus windows by clicking
ClickToFocus=1 # 0 / 1
 
# Raise windows when focused
RaiseOnFocus=1 # 0 / 1
 
# Focus window when client area clicked
FocusOnClickClient=1 # 0 / 1
 
# Raise window when client area clicked
RaiseOnClickClient=1 # 0 / 1
 
# Raise window when title bar is clicked
RaiseOnClickTitleBar=1 # 0 / 1
 
# Raise when frame button is clicked
RaiseOnClickButton=1 # 0 / 1
 
# Raise when frame border is clicked
RaiseOnClickFrame=1 # 0 / 1
 
# Pass focusing click on client area to client
PassFirstClickToClient=1 # 0 / 1
 
# Focus normal window when initially mapped
FocusOnMap=1 # 0 / 1
 
# Focus dialog window when initally mapped
FocusOnMapTransient=1 # 0 / 1
 
# Focus dialog window when initially mapped only if parent frame focused
FocusOnMapTransientActive=1 # 0 / 1
 
# Colormap follows pointer
PointerColormap=1 # 0 / 1
 
# Limit initial size of windows to screen
LimitSize=1 # 0 / 1
 
# Limit initial position of windows to screen
LimitPosition=1 # 0 / 1
 
# Maximized windows can be resized
SizeMaximized=0 # 0 / 1
 
# Show position status window during move/resize
ShowMoveSizeStatus=1 # 0 / 1
 
# Display mini-icons on desktop for minimized windows
MinimizeToDesktop=0 # 0 / 1
 
# Always maintain focus under mouse window (makes some keyboard support non-functional)
StrongPointerFocus=0 # 0 / 1
 
# Opaque window move
OpaqueMove=1 # 0 / 1
 
# Opaque window resize
OpaqueResize=1 # 0 / 1
 
# Windows initially placed manually by user
ManualPlacement=0 # 0 / 1
 
# Smart window placement (minimize overlap)
SmartPlacement=1 # 0 / 1
 
# Center dialogs on owner window
CenterTransientsOnOwner=1 # 0 / 1
 
# Menus track mouse even with no mouse buttons held
MenuMouseTracking=0 # 0 / 1
 
# Auto raise windows after delay
AutoRaise=0 # 0 / 1
 
# Delay pointer focusing when mouse moves
DelayPointerFocus=0 # 0 / 1
 
# Support win95 keyboard keys
Win95Keys=1 # 0 / 1
 
# Treat Penguin/Meta/Win modifer as Ctrl+Alt
ModMetaIsCtrlAlt=1 # 0 / 1
 
# Support mouse wheel
UseMouseWheel=0 # 0 / 1
 
# Show popup menus above mouse pointer
ShowPopupsAbovePointer=0 # 0 / 1
 
# Send the clicks outside menus to target window
ReplayMenuCancelClick=0 # 0 / 1
 
# Alt+Tab window switching
QuickSwitch=1 # 0 / 1
 
# Alt+Tab to minimized windows
QuickSwitchToMinimized=1 # 0 / 1
 
# Alt-Tab to hidden windows
QuickSwitchToHidden=1 # 0 / 1
 
# Alt+Tab to windows on other workspaces
QuickSwitchToAllWorkspaces=0 # 0 / 1
 
# Manage root window
GrabRootWindow=1 # 0 / 1
 
# Snap to nearest screen edge/window when moving windows
SnapMove=1 # 0 / 1
 
# Workspace switches by moving mouse to left/right screen edge
EdgeSwitch=0 # 0 / 1
 
# Display desktop background centered and not tiled
DesktopBackgroundCenter=1 # 0 / 1
 
# Reload menu files automatically
AutoReloadMenus=1 # 0 / 1
 
# Show application icon over menu button
ShowMenuButtonIcon=1 # 0 / 1
 
# Automatically disable some functions when running under GNOME
AutoDetectGNOME=1 # 0 / 1
 
# Show task bar
ShowTaskBar=1 # 0 / 1
 
# Task bar at top of the screen
TaskBarAtTop=0 # 0 / 1
 
# Auto hide task bar after delay
TaskBarAutoHide=0 # 0 / 1
 
# Show clock on task bar
TaskBarShowClock=1 # 0 / 1
 
# Show automatic power management (APM) status on task bar
TaskBarShowAPMStatus=0 # 0 / 1
 
# Task bar clock uses nice pixmapped LCD display
TaskBarClockLeds=0 # 0 / 1
 
# Show mailbox status on the task bar
TaskBarShowMailboxStatus=1 # 0 / 1
 
# Beep when new mail arrives
TaskBarMailboxStatusBeepOnNewMail=0 # 0 / 1
 
# Count messages in mailbox
TaskBarMailboxStatusCountMessages=0 # 0 / 1
 
# Show workspace switching buttons on task bar
TaskBarShowWorkspaces=1 # 0 / 1
 
# Show windows on the taskbar
TaskBarShowWindows=1 # 0 / 1
 
# Show windows from all workspaces on task bar
TaskBarShowAllWindows=0 # 0 / 1
 
# Show "Start" menu on task bar
TaskBarShowStartMenu=1 # 0 / 1
 
# Show "window list" menu on task bar
TaskBarShowWindowListMenu=1 # 0 / 1
 
# Show CPU status on task bar
TaskBarShowCPUStatus=1 # 0 / 1
 
# Show network status on task bar
TaskBarShowNetStatus=1 # 0 / 1
 
# Use double height task bar
TaskBarDoubleHeight=0 # 0 / 1
 
# Move mouse when doing focusing in pointer focus mode
WarpPointer=0 # 0 / 1
 
# Allow mouse actions on client windows (buggy with some programs)
ClientWindowMouseActions=1 # 0 / 1
 
# Draw window title centered
TitleBarCentered=0 # 0 / 1
 
# Show the submenu for selecting themes
ShowThemesMenu=1 # 0 / 1
 
# Multibyte internationalization support
MultiByte=1 # 0 / 1
 
# Ask for confirmation on logout
ConfirmLogout=1 # 0 / 1
 
# Horizontal window border
BorderSizeX=6 # 0-128
 
# Veritical window border
BorderSizeY=6 # 0-128
 
# Horizontal dialog window border
DlgBorderSizeX=2 # 0-128
 
# Vertical dialog window border
DlgBorderSizeY=2 # 0-128
 
# Title bar height
TitleBarHeight=20 # 0-128
 
# Resize corner width
CornerSizeX=24 # 0-64
 
# Resize corner height
CornerSizeY=24 # 0-64
 
# Pointer motion distance before click gets interpreted as drag
ClickMotionDistance=4 # 0-32
 
# Delay before click gets interpreted as drag
ClickMotionDelay=200 # 0-2000
 
# Multiple click time
MultiClickTime=400 # 0-5000
 
# Delay before activating menu items
MenuActivateDelay=40 # 0-5000
 
# Delay before activating menu submenus
SubmenuMenuActivateDelay=300 # 0-5000
 
# Delay before tooltip window is displayed
ToolTipDelay=1000 # 0-5000
 
# Time before tooltip is hidden
ToolTipTime=0 # 0-5000
 
# Delay before task bar is automatically hidden
AutoHideDelay=300 # 0-5000
 
# Delay before windows are auto raised
AutoRaiseDelay=400 # 0-5000
 
# Resistance in pixels when trying to move windows off the screen
EdgeResistance=32 # 0-10000
 
# Delay for pointer focus switching
PointerFocusDelay=200 # 0-1000
 
# Distance in pixels before windows snap together
SnapDistance=8 # 0-128
 
# Screen edge workspace switching delay
EdgeSwitchDelay=600 # 0-5000
 
# Initial scrollbar autoscroll delay
ScrollBarStartDelay=500 # 0-5000
 
# Scroll bar delay
ScrollBarDelay=30 # 0-5000
 
# Autoscroll start delay
AutoScrollStartDelay=500 # 0-5000
 
# Auto scroll delay
AutoScrollDelay=60 # 0-5000
 
# Bitmask of root window button click to use in window manager
UseRootButtons=7
 
# Bitmask of buttons that raise the window when pressed
ButtonRaiseMask=1
 
# Mouse-button clicked on desktop to show window list menu
DesktopWinMenuButton=0
 
# Mouse-button clicked on desktop to show window list
DesktopWinListButton=2
 
# Mouse-button clicked on desktop to show menu
DesktopMenuButton=3
 
# Mouse-button clicked on titlebar to maximize window
TitleBarMaximizeButton=1
 
# Mouse-button clicked on titlebar to roll up window
TitleBarRollupButton=2
 
# Delay between new-mail checks in seconds
MailCheckDelay=30 # 0-3600
 
# Width of CPU Monitor
TaskBarCPUSamples=20 # 2-1000
 
# Titlebar buttons from left to right (x=close, m=max, i=min, h=hide, r=rollup, s=sysmenu)
TitleButtonsLeft="s"
 
# Titlebar buttons from right to left (x=close, m=max, i=min, h=hide, r=rollup, s=sysmenu)
TitleButtonsRight="xmir"
 
# Titlebar buttons supported by theme (x, m, i, r, h, s, d)
TitleButtonsSupported="xmis"
 
# Icon search path (colon separated)
IconPath="/usr/share/icons:/usr/share/icons/mini:/usr/share/icons/locolor/16x16/apps/:/usr/share/icons/hicolor/16x16/apps/:/usr/share/icons/crystalsvg/16x16/apps/:/usr/X11R6/lib/X11/icewm/icons"
 
# Mailbox path ($MAIL is used if no value is specified)
MailBoxPath=""
 
# Command to run on mailbox
MailCommand="xvt -name mutt -title PINE -e mutt"
 
# Command to run when new mail arrives
NewMailCommand=""
 
# Command to lock display or show screensaver
LockCommand="xlock"
 
# Command to run on clock
ClockCommand="xclock -name icewm -title Clock"
 
# Command to select and run a program
RunCommand=""
 
# Open command
OpenCommand=""
 
# Terminal emulator (must accept -e option)
TerminalCommand="xvt"
 
# Command to start logout
LogoutCommand=""
 
# Command to cancel logout
LogoutCancelCommand=""
 
# Command to shut down the system
ShutdownCommand="shutdown -h now"
 
# Command to reboot the system
RebootCommand="shutdown -r now"
 
# Command to run when CPU status monitor is clicked
CPUStatusCommand="xvt -name top -title Process\ Status -e top"
 
# Command to run when net status monitor is clicked
NetStatusCommand="xvt -name netstat -title 'Network Status' -e netstat -c"
 
# Command to run for address bar entries
AddressBarCommand=""
 
# Network device for which to show status
NetworkStatusDevice="eth1 eth0 ppp0"
 
# Clock time format (strftime format string)
TimeFormat="%H-%M-%S - %D"
 
# Clock date format for tooltip (strftime format string)
DateFormat="%c"
 
# Theme (theme_directory/default.theme)
Theme="blueCrux/default.theme"
 
# Theme author
ThemeAuthor=""
 
# Theme description
ThemeDescription="Nice Windows 95 theme."
 
# Title bar font
TitleFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Menu font
MenuFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Status font
StatusFontName="-adobe-courier-bold-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Quick switch font
QuickSwitchFontName="-adobe-courier-bold-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Normal button font
NormalButtonFontName="-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Active button font
ActiveButtonFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Normal taskbar font
NormalTaskBarFontName="-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Active taskbar font
ActiveTaskBarFontName="-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Minimized window font
MinimizedWindowFontName="-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# List box font
ListBoxFontName="-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Tooltip font
ToolTipFontName="-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*,-*--16-*"
 
# Clock font
ClockFontName="-adobe-courier-medium-r-*-*-*-140-*-*-*-*-*-*,-*--16-*"
 
# APM font
ApmFontName="-adobe-courier-medium-r-*-*-*-140-*-*-*-*-*-*,-*--16-*"
 
# Label font
LabelFontName="-adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-*,-*--16-*"
 
# Dialog color
ColorDialog="rgb:C0/C0/C0"
 
# Active border color
ColorActiveBorder="rgb:C0/C0/C0"
 
# Normal border color
ColorNormalBorder="rgb:C0/C0/C0"
 
# Normal title button color
ColorNormalTitleButton="rgb:C0/C0/C0"
 
# Normal title button text color
ColorNormalTitleButtonText="rgb:00/00/00"
 
# Normal button color
ColorNormalButton="rgb:C0/C0/C0"
 
# Normal button text color
ColorNormalButtonText="rgb:00/00/00"
 
# Active button color
ColorActiveButton="rgb:E0/E0/E0"
 
# Active button text color
ColorActiveButtonText="rgb:00/00/00"
 
# Active title bar color
ColorActiveTitleBar="rgb:00/00/A0"
 
# Normal title bar color
ColorNormalTitleBar="rgb:80/80/80"
 
# Active title bar text color
ColorActiveTitleBarText="rgb:FF/FF/FF"
 
# Normal title bar text color
ColorNormalTitleBarText="rgb:00/00/00"
 
# Normal minimized window color
ColorNormalMinimizedWindow="rgb:C0/C0/C0"
 
# Normal minimized winodw text color
ColorNormalMinimizedWindowText="rgb:00/00/00"
 
# Active minimized window color
ColorActiveMinimizedWindow="rgb:E0/E0/E0"
 
# Active minimized window text color
ColorActiveMinimizedWindowText="rgb:00/00/00"
 
# Normal menu color
ColorNormalMenu="rgb:C0/C0/C0"
 
# Active menu item color
ColorActiveMenuItem="rgb:A0/A0/A0"
 
# Active menu item text color
ColorActiveMenuItemText="rgb:00/00/00"
 
# Normal menu item text color
ColorNormalMenuItemText="rgb:00/00/00"
 
# Disabled menu item text color
ColorDisabledMenuItemText="rgb:80/80/80"
 
# Move/size status color
ColorMoveSizeStatus="rgb:C0/C0/C0"
 
# Move/size status text color
ColorMoveSizeStatusText="rgb:00/00/00"
 
# Quick switch color
ColorQuickSwitch="rgb:C0/C0/C0"
 
# Quick switch text color
ColorQuickSwitchText="rgb:00/00/00"
 
# Default taskbar color
ColorDefaultTaskBar="rgb:C0/C0/C0"
 
# Normal taskbar color
ColorNormalTaskBarApp="rgb:C0/C0/C0"
 
# Normal taskbar app text color
ColorNormalTaskBarAppText="rgb:00/00/00"
 
# Active taskbar app color
ColorActiveTaskBarApp="rgb:E0/E0/E0"
 
# Active taskbar app text color
ColorActiveTaskBarAppText="rgb:00/00/00"
 
# Minimized taskbar app color
ColorMinimizedTaskBarApp="rgb:A0/A0/A0"
 
# Minimized taskbar app text
ColorMinimizedTaskBarAppText="rgb:00/00/00"
 
# Invisible taskbar app color
ColorInvisibleTaskBarApp="rgb:80/80/80"
 
# Invisible taskbar app text
ColorInvisibleTaskBarAppText="rgb:00/00/00"
 
# Scroll bar color
ColorScrollBar="rgb:A0/A0/A0"
 
# Scroll bar arrow color
ColorScrollBarArrow="rgb:C0/C0/C0"
 
# Scroll bar slider color
ColorScrollBarSlider="rgb:C0/C0/C0"
 
# List box color
ColorListBox="rgb:C0/C0/C0"
 
# List box text color
ColorListBoxText="rgb:00/00/00"
 
# List box selection color
ColorListBoxSelection="rgb:80/80/80"
 
# List box selection text color
ColorListBoxSelectionText="rgb:00/00/00"
 
# Tooltip color
ColorToolTip="rgb:E0/E0/00"
 
# Tooltip text color
ColorToolTipText="rgb:00/00/00"
 
# Clock color
ColorClock="rgb:00/00/00"
 
# Clock text color
ColorClockText="rgb:00/FF/00"
 
# APM color
ColorApm="rgb:00/00/00"
 
# APM text color
ColorApmText="rgb:00/FF/00"
 
# Label color
ColorLabel="rgb:C0/C0/C0"
 
# Label text color
ColorLabelText="rgb:00/00/00"
 
# Input color
ColorInput="rgb:FF/FF/FF"
 
# Input text color
ColorInputText="rgb:00/00/00"
 
# Input selection color
ColorInputSelection="rgb:80/80/80"
 
# Input selection text color
ColorInputSelectionText="rgb:00/00/00"
 
# Desktop background color
DesktopBackgroundColor=""
 
# Desktop background image
DesktopBackgroundImage=""
 
# User CPU usage color
ColorCPUStatusUser="rgb:00/FF/00"
 
# System CPU usage color
ColorCPUStatusSystem="rgb:FF/00/00"
 
# Nice CPU usage color
ColorCPUStatusNice="rgb:00/00/FF"
 
# CPU Idle color
ColorCPUStatusIdle="rgb:00/00/00"
 
# Color of sent data on net monitor
ColorNetSend="rgb:FF/FF/00"
 
# Color of received data on net monitor
ColorNetReceive="rgb:FF/00/FF"
 
# Color representing idle on net monitor
ColorNetIdle="rgb:00/00/00"
 
# "Raise window" shortcut
KeyWinRaise="Alt+F1"
 
# "Occupy all" shortcut
KeyWinOccupyAll="Alt+F2"
 
# "Lower window" shortcut
KeyWinLower="Alt+F3"
 
# "Close window" shortcut
KeyWinClose="Alt+F4"
 
# "Restory window" shortcut
KeyWinRestore="Alt+F5"
 
# "Previous window" shortcut
KeyWinPrev="Alt+Shift+F6"
 
# "Next window" shortcut
KeyWinNext="Alt+F6"
 
# "Move window" shortcut
KeyWinMove="Alt+F7"
 
# "Size window" shortcut
KeyWinSize="Alt+F8"
 
# "Minimize window" shortcut
KeyWinMinimize="Alt+F9"
 
# "Maximize window" shortcut
KeyWinMaximize="Alt+F10"
 
# "Maximize window vertically" shortcut
KeyWinMaximizeVert="Alt+Shift+F10"
 
# "Hide window" shortcut
KeyWinHide="Alt+Shift+F12"
 
# "Rollup window" shortcut
KeyWinRollup="Alt+F12"
 
# "Window menu" shortcut
KeyWinMenu="Alt+Space"
 
# "Next item" shortcut
KeySysSwitchNext="Alt+Tab"
 
# "Last item" shortcut
KeySysSwitchLast="Alt+Shift+Tab"
 
# "Next sys window" shortcut
KeySysWinNext="Alt+Esc"
 
# "Previous sys window" shortcut
KeySysWinPrev="Alt+Shift+Esc"
 
# "Window menu" shortcut
KeySysWinMenu="Shift+Esc"
 
# "Logout / screenlock dialog" shortcut
KeySysDialog="Alt+Ctrl+Del"
 
# "Program menu" shortcut
KeySysMenu="Ctrl+Esc"
 
# "Run" shortcut
KeySysRun="Alt+Ctrl+R"
 
# "Window list" shortcut
KeySysWindowList="Alt+Ctrl+Esc"
 
# "Address bar" shortcut
KeySysAddressBar="Alt+Ctrl+Space"
 
# "Previous workspace" shortcut
KeySysWorkspacePrev="Alt+Ctrl+Left"
 
# "Next workspace" shortcut
KeySysWorkspaceNext="Alt+Ctrl+Right"
 
# "Take window to previous workspace" shortcut
KeySysWorkspacePrevTakeWin="Alt+Ctrl+Shift+Left"
 
# "Take window to next workspace" shortcut
KeySysWorkspaceNextTakeWin="Alt+Ctrl+Shift+Right"
 
# "Workspace 1" shortcut
KeySysWorkspace1="Alt+1"
 
# "Workspace 2" shortcut
KeySysWorkspace2="Alt+2"
 
# "Workspace 3" shortcut
KeySysWorkspace3="Alt+3"
 
# "Workspace 4" shortcut
KeySysWorkspace4="Alt+4"
 
# "Workspace 5" shortcut
KeySysWorkspace5="Alt+5"
 
# "Workspace 6" shortcut
KeySysWorkspace6="Alt+6"
 
# "Workspace 7" shortcut
KeySysWorkspace7="Alt+7"
 
# "Workspace 8" shortcut
KeySysWorkspace8="Alt+8"
 
# "Workspace 9" shortcut
KeySysWorkspace9="Alt+9"
 
# "Workspace 10" shortcut
KeySysWorkspace10="Alt+0"
 
# "Workspace 10" shortcut
KeySysWorkspace10="Alt+0"
 
# "Workspace 10" shortcut
KeySysWorkspace10="Alt+0"
 
# "Take window to workspace 1" shortcut
KeySysWorkspace1TakeWin="Alt+Ctrl+Shift+1"
 
# "Take window to workspace 2" shortcut
KeySysWorkspace2TakeWin="Alt+Ctrl+Shift+2"
 
# "Take window to workspace 3" shortcut
KeySysWorkspace3TakeWin="Alt+Ctrl+Shift+3"
 
# "Take window to workspace 4" shortcut
KeySysWorkspace4TakeWin="Alt+Ctrl+Shift+4"
 
# "Take window to workspace 5" shortcut
KeySysWorkspace5TakeWin="Alt+Ctrl+Shift+5"
 
# "Take window to workspace 6" shortcut
KeySysWorkspace6TakeWin="Alt+Ctrl+Shift+6"
 
# "Take window to workspace 7" shortcut
KeySysWorkspace7TakeWin="Alt+Ctrl+Shift+7"
 
# "Take window to workspace 8" shortcut
KeySysWorkspace8TakeWin="Alt+Ctrl+Shift+8"
 
# "Take window to workspace 9" shortcut
KeySysWorkspace9TakeWin="Alt+Ctrl+Shift+9"
 
# "Take window to workspace 10" shortcut
KeySysWorkspace10TakeWin="Alt+Ctrl+Shift+0"
 
# "Take window to workspace 10" shortcut
KeySysWorkspace10TakeWin="Alt+Ctrl+Shift+0"
 
# "Take window to workspace 10" shortcut
KeySysWorkspace10TakeWin="Alt+Ctrl+Shift+0"
 
# Names of the Workspaces
WorkspaceNames=" 1 "," 2 "," 3 "," 4 "

This IceWM configuration file will give you a familiar Windows 95 lookalike interface without the frustration that comes with the use of Windows et-al. I will be continuing to use Linux rather than Windows for programming and other
serious tasks as Windows 1998 does not cut it at all for reliability. Windows 2000 and NT were the most reliable Windows releases, Windows XP has the god aweful Active Desktop and Internet Explorer 8.0 that you can install. I hate this OS with a
vengeance. I would rather use Windows NT rather than XP, as it can go all day without a reboot, making your day much smoother.

Sure Windows XP SP2 may have more security features, but how long will it take for the Spyware and Virus Authors to catch up and work around the new Firewall technology? Better off if you installed Zone Alarm and Mozilla Firefox or the
Mozilla suite version 1.7 and used that instead of Internet explorer, which is showing more and more security holes now and cannot offer the increased security offered by these afforementioned applications. Zone Alarm includes a popup window blocker
and Banner advertisement blocking as well, which will help broadband users in Australia which have 3GB caps on downloads per bill. Banner advertisements are usually images and if you can block them before they are even downloaded, you
will save an enormous amount on data downloads over a one month term.

Useful Linux Commands.

MS-DOS styled directory tree view.

bash $~ tree -A -s -p -f --dirsfirst

Using this command you get this output. Directories are printed before the rest of the files and the permissions and filesizes are very verbose. Using the -H switch gives you HTML output, but this is cluttering in a Terminal. But also
very useful for listing directories for a webserver maybe, by typing this command and redirecting it to a file then putting it up with some files in a directory, then you would have a ready made directory listing. e.g, -H . this sets the current directory you are in as the base HREF then the links will work fine.

.
tqq [drwxrwxrwx       32768]  ./images
x   mqq [-rwxrwxrwx     1107790]  ./images/windows-xp-wallpaper.tar.gz
tqq [drwxrwxrwx       32768]  ./maps
x   tqq [-rwxrwxrwx      190192]  ./maps/big_logo_title.png
x   tqq [-rwxrwxrwx       82040]  ./maps/zdoom_bejiita.png
x   tqq [-rwxrwxrwx       77024]  ./maps/zdoom_bejiita_2.png
x   tqq [-rwxrwxrwx       30899]  ./maps/zdoom_bejiita_3.png
x   tqq [-rwxrwxrwx       63497]  ./maps/zdoom_bejiita_4.png
x   mqq [-rwxrwxrwx       88768]  ./maps/zdoom_cell.png
tqq [-r-xr-xr-x       18738]  ./Q1_Scourge_of_armagon_secrets.txt
tqq [-r-xr-xr-x       13824]  ./Q1_dissolution_of_eternity_secrets.txt
tqq [-r-xr-xr-x        7491]  ./Q2__ground_Zero_secrets.txt
tqq [-r-xr-xr-x       12933]  ./Q2_the_reckoning_secrets.txt
tqq [-rwxrwxrwx        7324]  ./blackbox.htm
tqq [-rwxrwxrwx        9249]  ./cgi_code.htm
tqq [-rwxrwxrwx        6030]  ./doom_level.htm
tqq [-rwxrwxrwx      464773]  ./limbo.tar.gz
tqq [-rwxrwxrwx       21501]  ./linux_configs.htm
tqq [-rwxrwxrwx         239]  ./menu2.htm
tqq [-rwxrwxrwx        1663]  ./time.cgi
mqq [-rwxrwxrwx        5868]  ./viewblog.cgi
 
2 directories, 19 files

Very Verbose ps command.

bash $~ ps u a x f g

This command above gives this output. It uses ASCII art to dress up the
presentation of the process listing. This is one of my favourite commands and
very useful. This command shows _all_ processes running on the system and even
daemons and root processes. This output is on my old Mandrake Linux machine and
old Pentium II 350MMX that I did a lot of Linux learning on. And it ran Linux
quite well too.

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.2  1580  516 ?        S    Aug22   0:04 init [5]
root         2  0.0  0.0     0    0 ?        SWN  Aug22   0:00 [ksoftirqd/0]
root         3  0.0  0.0     0    0 ?        SW<  Aug22   0:00 [events/0]
root         4  0.0  0.0     0    0 ?        SW<  Aug22   0:00 [kblockd/0]
root         5  0.0  0.0     0    0 ?        SW   Aug22   0:00 [kapmd]
root         6  0.0  0.0     0    0 ?        SW   Aug22   0:00 [pdflush]
root         7  0.0  0.0     0    0 ?        SW   Aug22   0:00 [pdflush]
root         8  0.0  0.0     0    0 ?        SW   Aug22   0:00 [kswapd0]
root         9  0.0  0.0     0    0 ?        SW<  Aug22   0:00 [aio/0]
root        11  0.0  0.0     0    0 ?        SW   Aug22   0:00 [kseriod]
root        15  0.0  0.0     0    0 ?        SW   Aug22   0:00 [kjournald]
root       113  0.0  0.6  2048 1176 ?        S    Aug22   0:01 devfsd /dev
root       239  0.0  0.0     0    0 ?        SW   Aug22   0:00 [khubd]
root       375  0.0  0.0     0    0 ?        SW   Aug22   0:00 [scsi_eh_0]
rpc        879  0.0  0.3  1712  576 ?        S    Aug22   0:00 portmap
root       903  0.0  0.3  1640  628 ?        S    Aug22   0:00 syslogd -m 0
root       911  0.0  0.8  2592 1540 ?        S    Aug22   0:00 klogd -2
xfs       1382  0.0  2.0  5552 3924 ?        S    Aug22   0:00 xfs -port -1 -daemon -droppriv -user xfs
root      1457  0.0  0.5  3532 1124 ?        S    Aug22   0:00 /usr/X11R6/bin/xdm -nodaemon
root      1531  1.3  9.8 22936 18700 ?       R    Aug22   0:47  \_ /etc/X11/X -deferglyphs 16 -auth /etc/X11/xdm/authdir/authfiles/A:0-0Azk6L
root      1580  0.0  1.2  4468 2392 ?        S    Aug22   0:00  \_ -:0
kugai     1948  0.0  1.2  4432 2348 ?        S    Aug22   0:01      \_ /usr/X11R6/bin/blackbox
kugai     2397  0.1  2.6  8184 5020 ?        S    Aug22   0:03          \_ /usr/bin/Eterm
kugai     2400  0.0  0.8  2748 1628 pts0     S    Aug22   0:00          |   \_ -bash
kugai     2535  0.0  0.4  2416  768 pts0     R    00:32   0:00          |       \_ ps u a x f g
kugai     2442  0.0  0.6  2528 1180 ?        S    Aug22   0:00          \_ /bin/sh /usr/bin/soundwrapper xmms
kugai     2445  4.6  2.8 25288 5344 ?        S    Aug22   1:43              \_ xmms
daemon    1482  0.0  0.2  1616  536 ?        S    Aug22   0:00 /usr/sbin/atd
root      1536  0.0  0.4  2164  868 ?        S    Aug22   0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
root      1660  0.0  0.3  1624  624 ?        S    Aug22   0:00 crond
root      1784  0.0  0.2  1568  448 tty1     S    Aug22   0:00 /sbin/mingetty tty1
root      1785  0.0  0.2  1568  448 tty2     S    Aug22   0:00 /sbin/mingetty tty2
root      1786  0.0  0.2  1568  448 tty3     S    Aug22   0:00 /sbin/mingetty tty3
root      1787  0.0  0.2  1568  448 tty4     S    Aug22   0:00 /sbin/mingetty tty4
root      1788  0.0  0.2  1568  448 tty5     S    Aug22   0:00 /sbin/mingetty tty5
root      1789  0.0  0.2  1568  448 tty6     S    Aug22   0:00 /sbin/mingetty tty6
kugai     2076  0.0  1.9  6100 3800 ?        S    Aug22   0:00 /usr/lib/gconfd-2 13
kugai     2085  0.9  6.3 20072 12124 ?       S    Aug22   0:28 /usr/X11R6/bin/gvim
root      2227  0.0  0.0     0    0 ?        SW   Aug22   0:00 [usb-storage]
root      2228  0.0  0.0     0    0 ?        SW   Aug22   0:00 [scsi_eh_1]

Blackbox Theme.

Just thought I would put this up, I am looking through an old version of this site from about 2004 or something & I saw this and I thought someone might like it. Chernobyl Blackbox theme. This theme has a very good colour scheme and great
use of theming features to create a very good theme for the Blackbox window manager. I created this theme to be very clear at very high resolutions on large monitors, I have tested it at [email protected] and it is very good looking and very
fast indeed. If you use it with the .blackboxrc config at bottom of page, there will also be a much better date and time format as well and this greatly enhances the user experience.

toolbar: raised diagonal gradient
toolbar.color: rgb:3/6/4
toolbar.colorTo: rgb:4/6/8
toolbar.button:	raised crossdiagonal gradient
toolbar.button.color: rgb:3/8/6
toolbar.button.colorTo: rgb:5/28/a
toolbar.button.picColor: rgb:1/18/2
toolbar.button.pressed: raised crossdiagonal gradient
toolbar.button.pressed.color: grey40
toolbar.button.pressed.colorTo:	grey20
toolbar.label: raised crossdiagonal gradient
toolbar.label.color: grey40
toolbar.label.colorTo: grey20
toolbar.label.textColor: grey85
toolbar.windowLabel: raised crossdiagonal gradient
toolbar.windowLabel.color: grey40
toolbar.windowLabel.colorTo: grey20
toolbar.windowLabel.textColor: grey85
toolbar.clock: raised crossdiagonal gradient
toolbar.clock.color: grey40
toolbar.clock.colorTo: grey20
toolbar.clock.textColor: grey85
toolbar.justify: right
toolbar.font: lucidasans-10
menu.title: raised diagonal gradient
menu.title.color: rgb:6/09/c
menu.title.colorTo: rgb:3/48/6
menu.title.textColor: white
menu.title.font: lucidasans-10
menu.title.justify: right
menu.frame: raised crossdiagonal gradient
menu.frame.color: grey40
menu.frame.colorTo: grey20
menu.frame.textColor: grey85
menu.frame.disableColor: rgb:4/4/38
menu.frame.font: lucidasans-10
menu.frame.justify: right
menu.bullet.position: left
menu.bullet: square
menu.hilite: raised crossdiagonal gradient
menu.hilite.color: rgb:6/9/c
menu.hilite.colorTo: rgb:3/48/6
menu.hilite.textColor: white
window.title.focus: raised crossdiagonal gradient
window.title.focus.color: rgb:6/9/c
window.title.focus.colorTo: rgb:4/6/8
window.title.unfocus: flat solid
window.title.unfocus.color: grey30
window.label.focus: raised diagonal gradient
window.label.focus.color: grey12
window.label.focus.colorTo: grey20
window.label.focus.textColor: white
window.label.unfocus: flat crossdiagonal gradient
window.label.unfocus.color: grey30
window.label.unfocus.colorTo: grey20
window.label.unfocus.textColor:	grey60
window.button.focus: flat crossdiagonal gradient
window.button.focus.color: rgb:4/6/8
window.button.focus.colorTo: rgb:5/78/a
window.button.focus.picColor: rgb:1/18/2
window.button.unfocus: flat solid
window.button.unfocus.color: grey30
window.button.unfocus.picColor:	grey20
window.button.pressed: flat crossdiagonal gradient
window.button.pressed.color: grey40
window.button.pressed.colorTo: grey20
window.handle.focus: flat crossdiagonal gradient window.handle.focus.color: rgb:6/9/c
window.handle.focus.colorTo: rgb:3/48/6
window.handle.unfocus: flat solid
window.handle.unfocus.color: grey30
window.grip.focus: flat crossdiagonal gradient
window.grip.focus.color: grey40
window.grip.focus.colorTo: grey20
window.grip.unfocus: flat crossdiagonal gradient
window.grip.unfocus.color: grey30
window.grip.unfocus.colorTo: grey20
window.frame.focusColor: grey10
window.frame.unfocusColor: grey12
window.font: lucidasans-10
window.justify: center
borderColor: grey20
bevelWidth: 3
borderWidth: 1
handleWidth: 3
*textColor: white
*Font: lucidasans-12
rootCommand: bsetroot -gradient raiseddiagonalgradient -from rgb:10/55/90 -to rgb:10/06/10

My Blackbox config file. $HOME/.blackboxrc This
configuration file has a much more verbose display of time and date on
the taskbar using strftime formatting. Only thing is the seconds do not
count in real time like with IceWM, but you could always use xclock.

session.screen0.slit.placement:	CenterRight
session.screen0.slit.direction:	Vertical
session.screen0.slit.onTop:	False
session.screen0.slit.autoHide:	False
session.screen0.toolbar.onTop:	False
session.screen0.toolbar.autoHide: False
session.screen0.toolbar.placement: BottomCenter
session.screen0.toolbar.widthPercent:	66
session.screen0.workspaces:	2
session.screen0.focusLastWindow:	False
session.screen0.disableBindingsWithScrollLock:	False
session.screen0.workspaceNames:	Workspace 1,Workspace 2
session.screen0.colPlacementDirection:	TopToBottom
session.screen0.fullMaximization:	False
session.screen0.rowPlacementDirection:	LeftToRight
session.screen0.focusModel:	SloppyFocus AutoRaise
session.screen0.focusNewWindows:	False
session.screen0.windowPlacement:	RowSmartPlacement
session.screen0.edgeSnapThreshold:	0
session.screen0.strftimeFormat:	%a-%d-%b-%Y %H:%M:%S
session.doubleClickInterval:	250
session.colorsPerChannel:	4
session.autoRaiseDelay:	400
session.cacheMax:	200
session.opaqueMove:	False
session.imageDither:	True
session.styleFile:	/usr/share/blackbox/styles/Chernobyl
session.menuFile:	/etc/X11/blackbox/blackbox-menu
session.cacheLife:	5

GNU/Linux CD Burning. (Updated! for Debian Linux 6.0.)

Creating a ISO image of files in a folder.

If you want to do this using the command line then you can just put all of your files into a directory and arrange them as required, then use this command to create a ISO image of the files ready to write to a CD. Do not do this if you have files with spaces in the filenames. Rename them first. Then type: mkisofs -l -r -J -v -V "Music" -o music.iso Music/ to create an ISO image, Then you can use wodim to write the ISO file to a CD. Below is the result of using the -scanbus command to look up our writer.

[Thu 11/03/17 14:04 EST][pts/1][x86_64/linux-gnu/2.6.37-2-amd64][4.3.11]
bash $~ wodim -scanbus
scsibus0:
	0,0,0	  0) *
	0,1,0	  1) 'ASUS    ' 'DRW-22B1L       ' '1.01' Removable CD-ROM
	0,2,0	  2) *
	0,3,0	  3) *
	0,4,0	  4) *
	0,5,0	  5) *
	0,6,0	  6) *
	0,7,0	  7) *

The command below will write the ISO image to a CDR and using your CD
writer drive.

sudo wodim -v -speed 12 music.iso

CD Burning with Brasero.

Brasero application.

This tutorial will give you some instructions for using the Brasero application for burning DATA DVD discs to backup your data and keep it safe. I am not displaying any help for the Xcdroast application as that has been superseded by newer applications.

Burning CD and DVD discs with Brasero is much easier than the old Xcdroast program. Just select the files you want to burn with the Add option and then press the burn button at the bottom. This screenshot shows the dialog that is displayed once you have clicked the burn button, this gives you a chance to set the burning speed and other options before committing to the actual burn. Xcdroast is still available on the Debian repositories, but I will no longer be supporting that application as it needs cdrecord installed and that is not available anymore. It can be installed from source, but it is not really necessary anymore to use such an old program just for burning a data CD. Now that your CDR is complete, re-insert the CD, reboot, and your new CD should boot! There, you have burned a bootable ISO image. If you have downloaded multiple images, just repeat the process for all of the ISO images in turn to create all the CDs you require.

A note for those who are running Mandrake Linux 10.0, the first installation CD has a boot.iso file which is about 7.98MB. If you burn this file to a blank CD you will get a bootable rescue cd which is more useful than a 3.5 floppy disk that is for sure. I am sure that other distros have this feature as well in one form or another, it is much more reliable than an unreliable boot/rescue floppy and would have more features crammed into a larger ISO image. Although sometimes you can use the installation CD/DVD itself as a rescue disk. Especially Red Hat Linux. Or SUSE Linux 10.0.

Burn Options.

Writing Ghost Images to CD.

If you are wanting to burn a Symantec Ghost image to CD, e.g to backup your Windows partition, then you could use Linux to burn the CD. You will need to copy the ghost image onto a separate partition and then use a bootable ghost disk to load up the ghost program and restore the ghost image. If you make a ghost image of the partition this is better than making an image of just the data. You would not need any special options to write the image to CD, just copy it straight to the CD, so you will have a backup. Then as I said before, you can just copy it back to a separate partition and restore the image.

I have done this when I was running Windows 98 and it worked very well. Obviously you cannot have the ghost image on the same partition you are restoring to, but I have had not much luck restoring the image from the CD unless you made it a bootable DOS CD and included ghost on the disk as well. I have seen restore CD’s for Windows XP that used this setup and very well too. If you made a freedos CD with ghost and your image, you could have a backup of your OS on a CD or DVD.