Linux Work Enviroment Build Record

1, Install Debian Squeeze
select standard system tools category only

2, Switch distribute to Wheezy
a, edit /etc/apt/sources.list, the contect is follow

1
2
deb http://mirrors.ustc.edu.cn/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free

b, fetch package list
execute follow command in root console

1
#aptitdu update

c, update system to Wheezy
execute follow command in root console

1
#aptitude dist-upgrade

d, reboot system after update process is complete.

3, Configure system
a, locales
execute follow command in root console

1
#dpkg-reconfigure locales

select all en_US/zh_CN/zh_TW locale, the default locale is en_US.UTF-8

b, console resolution
execute hwinfo –framebuffer will display your graphic card support resolution
edit /etc/default/grub, add the line as follow

1
GRUB_GFXMODE=1920x1080x32

edit /etc/grub.d/00_header, add follow line after 132 line

1
set gfxpayload=keep

if grub2 not display corrent with this resolution, it’s can change keep to corrent resolution.

general /boot/grub/grub/cfg, execute follow command in root console

1
#grub-mkconfig -o /boot/grub/grub.cfg

c, timezone
edit /etc/default/rcS, change UTC=yes to UTC=no

4, Install package from network
execute follow command in root console

1
#aptitude install sudo unzip unrar vim emacs rcconf build-essential hwinfo git xorg iceweasel ibus ibus-table-wubi xfonts-wqy ttf-wqy-zenhei ttf-wqy-microhei fonts-droid feh scrot alsa-base alsa-utils

5, Install Google Chrome
create text file /etc/apt/sources.list.d/google-chrome.list with follow contect

1
deb http://dl.google.com/linux/chrome/deb/ stand main

then update package list and install package, the command as follow

1
2
#aptitude update
#aptitude install google-chrome-stable

6, Compile Window Manager
download dmenu source code from it’s homepage
then execute follow command in root console

1
2
3
#tar zxvf dmenu-x.x.tar.gz
#cd dmenu-x.x
#make clean install

dmenu will install to /usr/local/bin/ directory

create script file dmenu_path in /usr/local/bin/ with follow contect, mode is 0755

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
  
     CACHE=$HOME/.dmenu_cache
     IFS=:
  
     uptodate() {
             test -f "$CACHE" &&
             for dir in $PATH
             do
                     test ! $dir -nt "$CACHE" || return 1
             done
     }
  
     if !  uptodate
     then
             for dir in $PATH
             do
                     cd "$dir" &&
                     for file in *
                     do
                             test -x "$file" && echo "$file"
                     done
             done | sort | uniq > "$CACHE".$$ &&
             mv "$CACHE".$$ "$CACHE"
     fi
  
     cat "$CACHE"

download Musca source code from it’s homepage
then exectue follow command in root console

1
2
3
4
5
6
#tar zxvf musca-x.x.x.tar.gz
#cd musca-x.x.x
#make
#cp apis /usr/local/bin/
#cp musca /usr/local/bin/
#cp xlisten /usr/local/bin

7, Configure X
a,Xorg
the X server xorg haven’t configure by manual, it’s work well by itself.

b,musca
create musca config file ~/.musca_start with follow contect

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
set window_open_frame empty
set border_width 0
border off
pad 0 0 0 0
hook on ^add pad 0 0 0 0
name Management
add Programming
add Internet
add Multimedia
use 0
bind on Mod4+e exec emacs
bind on Mod4+b exec google-chrome
bind on Mod4+0 use 0
bind on Mod4+1 use 1
bind on Mod4+2 use 2
bind on Mod4+3 use 3

c,xinit
create X lunchar file ~/.xinitrc with follow contect

1
2
3
4
5
6
export XMODIFIERS="@im=ibus"
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
exec ibus-daemon &
exec musca

d,XTerm
default, XTerm english font is too small, and can’t display chinese, so change the default font
XTerm config is build-in ~/.Xdefault, the contect as follow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Xft.dpi: 96
Xft.antialias: true
XTerm*locale: true
XTerm*utf8: true
XTerm*utf8Title: true
XTerm*renderFont: true
XTerm*preeditType: Root
XTerm*xftAntialias: true
XTerm*fontMenu*fontdefault*Label: Default
XTerm*faceName: Droid Sans Mono:antialias=true:pixelsize=13
XTerm*faceNameDoublesize: WenQuanYi Zen Hei:antialias=true:pixelsize=13
XTerm*cjkWidth: false
XTerm*background: black
XTerm*foreground: white
XTerm*SaveLines: 3000
XTerm*VT100.Translations: #override \
        Ctrl  V: insert-selection(CLIPBOARD,PRIMARY,CUT_BUFFER0) \n\
        : select-end(CLIPBOARD,PRIMARY,CUT_BUFFER0) \n\
        Ctrl  P: print() \n