Written on 2008-07-07 17:47:20
Linux is a complicated beast. Unlike Windows and Mac there are literally hundreds of different competing versions or distributions vying for attention and often catering to a specific niche. Beginning Linux users are often all waved towards the two or three most popular and general-purpose distributions and with good reason. While three distributions in particular (Ubuntu, Fedora, Suse) seem to dominate and are good places to start, I have often experienced a desire to see what else exists with Linux since there is so much in the way of choice. Additionally, Linux distributions tend to have one release or more a year while Windows and Mac tend to see a new version only every few years. The three distributions I mentioned earlier all strive to issue a new release every six months and they all do so at roughly the same time often with no more than a month separating them.sudo pacman -Sy xorg
then check drivers with sudo pacman -Ss xf86-video
and install one appropriate for your video card. For a window manager, install xmonad, openbox, gmrun, xcompmgr, openbox-themes and obconf like so: sudo pacman -Sy xmonad openbox gmrun xcompmgr openbox-themes obconf
. For a login manager, install slim, archlinux-themes-slim and slim-themes with pacman and add slim to the daemons
mkdir -p ~/.config/openbox and cp /etc/xdg/openbox/* ~/.config/openbox/
mkdir ~/builds
cd ~/builds
wget http://aur.archlinux.org/packages/menumaker/menumaker.tar.gz && tar -zxvf *.gz
cd menumaker && makepkg -s && sudo pacman -U *.pkg.tar.gz && mmaker -vf openbox
cp /etc/stalonetrayrc ~/.stalonetrayrc
nano ~/.stalonetrayrc
and change fuzzy_edges to 1, transparent to true, and icon gravity to NE.mkdir ~/.icons && cd ~/.icons
wget http://download22.mediafire.com/bdtdcgm4y1bg/49yjtxmu0z4/Crashbit.tar.bz2 && tar -zxvf Crash*.bz2
nano ~/.gtkrc-2.0
and insert
# ~/.gtkrc-2.0
gtk-icon-theme-name = "Crashbit"
nano ~/.config/openbox/rc.xml
and add this to the keyboard section:
gmrun
xscreensaver-command -lock
#!/bin/bash
WALLPAPERS="/home/yourusername/path_to_your_wallpapers"
ALIST=( `ls -w1 /home/yourusername/path_to_your_wallpapers` )
RANGE=${#ALIST[@]}
let "number = $RANDOM"
let LASTNUM="`cat $WALLPAPERS/.last` + $number"
let "number = $LASTNUM % $RANGE"
echo $number > $WALLPAPERS/.last
feh --bg-scale $WALLPAPERS/${ALIST[$number]}
chmod +x ~/wallpaper.sh && touch path_to_your_wallpapers/.last
nano ~/.conkyrc
and insert the following.# Use Xft?
use_xft yes
xftfont Terminus 8
# Update interval in seconds
update_interval 1
# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type desktop
own_window_hints undecorate,sticky,skip_taskbar,skip_pager
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# Minimum size of text area
minimum_size 512 16
maximum_width 1560
# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders yes
# Stippled borders?
stippled_borders 0
# border margins
border_margin 6
# border width
border_width 1
# Default colors and also border colors
default_color 738A88
#default_shade_color white
#default_outline_color black
own_window_colour 3C4746
# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
alignment bottom_left
#alignment bottom_right
# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 8
gap_y 8
# Subtract file system buffers from used memory?
no_buffers yes
# set to yes if you want all text to be in uppercase
uppercase no
# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2
# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2
# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes
# Add spaces to keep things from moving about? This only affects
certain objects.
use_spacer none
# Append this to TEXT on laptops...| ${color FCFCFC}${battery_percent}
TEXT
${time %H:%M} | ${exec date "+%A %e %B"} ${color} | cpu: ${color FCFCFC}${cpu}%${color} | mem: ${color FCFCFC}$memperc%${color} | down: ${color FCFCFC}${downspeed eth0}kb/s${color} | up: ${color FCFCFC}${upspeed eth0}kb/s${color} | uptime: ${color FCFCFC}${uptime}${color} | root drive: ${color FCFCFC}${fs_used /} / ${fs_size /}${color} | music: ${color FCFCFC}${mpd_title 32}${color} | updates: ${color FCFCFC}${texeci 3600 perl ~/scripts/arch-updates/conky-updates.pl}
mkdir ~/scripts/arch-updates && nano ~/scripts/arch-updates/conky-updates.pl
to insert:#! /usr/bin/perl -w
use strict;
# November 15, 2006
# Daniel Vredenburg (Vredfreak)
# This is a program that checks for package updates for Arch Linux
users.
open (MYINPUTFILE, "/home/yourusername/scripts/arch-updates/updates.log") or die "No such file or directory: $!";
my $i = 0;
while()
{
if (/^(.*)\/(.*)(\..*\..*\.)/) {
#print " \n";
$i++;
}
}
if ($i == 0) {
print "up to date";
} else {
print "available ($i)";
}
close(MYINPUTFILE);
chmod +x ~/scripts/arch-updates/conky-updates.pl
nano ~/scripts/arch-updates/pacsync.sh
and insert:#!/bin/bash
# This issues a command to 1. Sync the package database,
# 2. Check for upgradable packages, 3. print the URL of any possible
upgrade.
# The output of our command gets written to updates.log, which we will
use
# conky_updates.sh to parse to see if there are any available updates.
pacman -Syup --noprogressbar > /home/yourusername/path/to/updates.log
touch /home/yourusername/path/to/updates.log && sudo cp ~/scripts/arch-updates/pacsync.sh /etc/cron.hourly/
nano ~/.xinitrc
and add this:#!/bin/sh
#xcompmgr -cC & ;;uncomment this if you want compositing enabled (for true transparency, drop shadows, etc.)
~/wallpaper.sh & ;;the wallpaper script
xscreensaver -no-splash & ;;a screensaver program
thunar --daemon & ;;to keep the file manager checking for flash drives, cds, etc, being plugged in
/usr/lib/wicd/tray.py & ;; a networking and wireless client
DEFAULT_SESSION=twm
case $1 in
openbox)
(sleep 1 && stalonetray) & ;; start the system tray
conky &
exec /usr/bin/openbox-session
;;
xmonad)
/home/redline/scripts/dzconky &
exec /usr/bin/xmonad
;;
*)
exec $DEFAULT_SESSION
;;
esac
sudo pacman -S mercurial xarchiver pidgin feh rxvt-unicode firefox flashplugin gforth ruby lua erlang ghc python sbcl drscheme emacs thunar mc xmonad xmonad-contrib openbox mplayer mplayer-plugin mpd ncmpc sonata codecs dzen2 transmission rtorrent conky epdfview libnotify libdvdread libdvdcss libdvdnav lynx dvd+rw-tools ttf-ms-fonts ttf-dejavu terminus-font zip unzip hicolor-icon-theme xchm scrot gqview stalonetray xscreensaver virtualbox thunar-volman qt3 sdl amule transset-df
sudo gpasswd -a yourusername vboxusers
and then add vboxdrv to the modules section in /etc/rc.conf.sudo cp /etc/mpd.conf.example /etc/mpd.conf
sudo nano /etc/mpd.conf
sudo chown -R yourusername:users /var/lib/mpd/*
sudo touch /var/run/mpd/mpd.pid
sudo chown -R yourusername:users /var/run/mpd/*
mkdir ~/Music/Playlists
mpd --create-db
sudo chown -R yourusername:users /var/log/mpd/*
nano .config/sonata/sonatarc
and add your username and password to the audioscrobbler section and set use_audioscrobbler to True if you want to enable it to scrobble your tracks to Last.FM.cd ~/builds
wget
http://aur.archlinux.org/packages/xfburn/xfburn.tar.gz && tar -zxvf xfburn.tar.gz && cd xfburn && makepkg -s && sudo pacman -U *.pkg*
.cd ~/builds
wget
http://ftp.gnu.org/gnu/mit-scheme/snapshot.pkg/20080130/mit-scheme-c-20080130.tar.gz
&& tar -zxvf mit*.tar.gz && cd mit-scheme-c-20080130/src && etc/make-liarc.sh && make install && sudo cp etc/xscheme.el
/usr/share/emacs/site-lisp/ && cd /usr/bin && sudo ln -s /usr/local/bin/mit-scheme scheme
nano .emacs
to insert (require 'xscheme)
and save and exit.sudo pacman -Sy gtkpod
and be in good shape but I use gnomad2 to load my music player with songs. To get it:cd ~/builds
wget http://aur.archlinux.org/packages/gnomad2/gnomad2.tar.gz && tar -zxvf gnomad2.tar.gz && cd gnomad2 && makepkg -s && sudo pacman -U *.pkg*
sudo nano /etc/sudoers
and insert this below %wheel All=(ALL) ALL:%wheel ALL=NOPASSWD: /usr/bin/gnomad2
%wheel ALL=NOPASSWD: /sbin/reboot
sudo pacman -S wicd
.sudo gpasswd -a yourusername network
.cd ~ && hg clone http://redlinernotes.com/code
mmaker -vf openbox
nano ~/.config/openbox/menu.xml
and change the execute command for emacs to urxvt -e emacs -nw
and the execute command for gnomad2 to sudo gnomad2
. I'd also suggest adding an item that executes sudo reboot
.
no
and inserting
transset-df -p --inc 0.2
transset-df -p --min 0.2 --dec 0.2
nano ~/scripts/dzconky
and insert:#!/bin/sh
FG='#aaaaaa'
BG='#1a1a1a'
FONT='-*-terminus-*-r-normal-*-*-120-*-*-*-*-iso8859-*'
conky | dzen2 -e -h '16' -w '1560' -ta r -fg $FG -bg $BG -fn $FONT
chmod +x ~/scripts/dzconky
sudo nano /etc/pacman.conf
and insert this:[larch5]
Server = ftp://ftp.berlios.de/pub/larch/larch5.3/i686/
sudo pacman -Syu && sudo pacman -S larch larchin larch-live larchify dosfstools
.sudo ./larchify /
to generate a restore/live cd image and burn it with wodim -v dev=/dev/cdrw /.larch/mylivecd.iso
. Done and Done! Here's how it looks for me with everything finished. Click on the title of each picture for the high resolution version.