debian minimal desktop installation


minimal install

easy and fast

hell, this page is so very long…. i'm bored already….
ok. this is linux. it's all up to you. you decide what you want….
you can have other easy and fast alternatives, like:

complete control

or you can continue this minimal desktop installation if you like…
what make this installation different is that you have complete control what you want to install. you decide every single piece of your linux. you decide if you want opera over firefox or gnumeric over calc, etc… and it's still 100% debian

this guide based on debian lenny which is testing release. but it's just as stable as (if not more stable than) ubuntu hardy
(nb. this guide copied from ubuntu minimal desktop guide. so if there might still be ubuntu stuffs. please comment to let me know.)

ok let's get started…

  • first, install using one of the debian installer cd. the smaller cd require more stuffs download from the internet. so if you want to install offline, it's best to use full dvd.
  • you could also boot from windows ntfs to start the installer
  • if/when asked, choose nothing. nothing at all. not base system. not minimal. nothing. deselect everything.
  • after debian installed and restarted to your new installed system. login as usual.
  • now we start installing the system. let's the fun begins.

nb. it's most confusing for windows users that linux do not show any asterisk when you enter your password. the password line just blank whatever you type into it. and it's intentional. just key in your password and press enter.


use sudo so that you will never need to login as root.
first time, login as root only to do this:

# aptitude install sudo
# visudo
# add this line into it, replace with yournonrootlogin
yournonrootlogin ALL=(ALL) ALL
  • logout and use yournonrootlogin
  • now, you should be able to use sudo
  • you should never (need to) login as root again

update & upgrade

this step is optional but highly recommended.

as with everything in linux. all and everything is optional. you decide what you want.
do NOT install anything that you will not use/want.
if you want to install everything, you'd better go with the ubuntu livecd installer.

#first, make things easier...
#if you want these alias activated everytime you login, put it into bashrc with all other aliases
# nano -w .bashrc
alias nano='nano -w'
alias update='sudo aptitude update'
alias upgrade='sudo aptitude update && sudo aptitude safe-upgrade'
alias iapt='sudo aptitude install'
alias suapt='sudo aptitude'
alias sudeb='sudo gdebi'

#now, do the update & upgrade
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude full-upgrade

# then you can always use 'suapt install' in place of 'sudo aptitude install'
# this guide will keep the full syntax for clearity purpose.

quick start

this ONE SINGLE line is all you need to get your minimal desktop.

sudo aptitude -y install xserver-xorg-core xinit menu menu-xdg jwm fluxbox alsa-utils mrxvt-mini gdebi-core synaptic logrotate localepurge


  • if you got missing packages or any error, please check the repo section
  • if you remove some apps here, you can always install it again anytime you like
  • logrotate is very usefull maintaining your log files to prevent you to find your /var/log takes all your available spaces
  • localepurge can 'Automagically remove unnecessary locale data' which can save you few hundreds megs of spaces.


  • this is not extreme minimal, some or even everything can be add/remove to suite your taste and your needs.
  • if you dont have sound devices, you can safely remove alsa-utils
  • if you know & like aptitude, you can safely remove synaptic
  • if you're certain you dont have any .deb packages to install, you dont need gdebi
  • you can choose just one of jwm or fluxbox


that's all it!
you got somewhat minimal desktop.

now you can get into your desktop with:

this is what you got:

then, you can use synaptic to install any other apps.

sudo synaptic

or, you can continue for more fun…

see more tiny linux applications

minimal X

if you do not like fluxbox above, you can choose to install any other wm. just replace the fluxbox above with any of these desktop/wm.

only choose ONE for small system. if you have enough resources, you might install more to try out any of them…

# sudo aptitude install jwm
# sudo aptitude install fluxbox
# sudo aptitude install fvwm-crystal
# sudo aptitude install icewm icemc wmctrl
# sudo aptitude install e16
# sudo aptitude install --without-recommends lxde 
# sudo aptitude install xfce4
# sudo aptitude install gnome-core
# sudo aptitude install kde-core
# sudo aptitude install kde4-core
  • generaly, i try to sort them with their memory usage. if you have absolute minimal ram (64meg) use the first (jwm/fluxbox only)
  • at most bottom, gnome-core, kde-core and kde4-core is the heaviest. avoid them if you have very small ram (<128meg)
  • for n00b, maybe lxde/xfce4 is easier to use
  • see also: install fvwm-crystal on debian
  • e16/enlightenment is an unconventional desktop and might need more time to get used to.
  • lxde is very cool. since lenny, you dont need to add any other repo to install lxde
  • lxde recommends gdm, a huge monster apps that depends on other monster apps. use —without-recommends switch so that you wont install those monster.
  • i have a pentium3 with 64meg ram running jwm/fluxbox without problem. when running big apps like firefox3 it swap a lot, but performance feels faster than fresh installed xp on the same machine.

more on window manager

choosing your x session / window manager

sudo update-alternatives --config x-session-manager
sudo update-alternatives --config x-window-manager

or, you can create .xsession

# to create .xsession file, open a terminal and enter:
# nano -w .xsession
# and put one of these into it:

exec startfluxbox
# exec startlxde
# exec startxfce4
# exec icewm-session
# exec fvwm-crystal

or, just testing other wm/de without changing your default:

xinit jwm
xinit startfluxbox
xinit startxfce4

graphical login, display manager

this is OPTIONAL!
skip this if you dont know about it. it uses more ram.
try install qingy instead of any of these.

you can even automatically login and startx when you turn on your pc.

unless you have to. ie, fix problem with X display drivers etc..

# install ONLY ONE of these
# sudo aptitude install wdm
# sudo aptitude install xdm
sudo aptitude install slim
# sudo aptitude install gdm
# sudo aptitude install kdm

slim seems to disregard .xinitrc
so, if you use slim and you might want to rename to .xsession

mv .xinitrc .xsession

office suites

# sudo aptitude install gnome-office
# sudo aptitude install koffice
# sudo aptitude install


lighter fox

sudo aptitude install libstdc++5 
wget -c
sudo tar zxvf ~/firefox- -C /opt

swiftweasel, the optimized fox

compiled from firefox source and optimized for speed

# first, setup the repo by adding this one line into /etc/apt/sources.list
# deb hardy multiverse 
# then install the one optimized for your cpu
# examples:
aptitude search swiftweasel
sudo aptitude install swiftweasel-pentium2

full blown browsers

sudo aptitude install  opera 

# full blown huge heavy monster fox
# sudo aptitude install firefox-2
sudo aptitude install firefox flashplugin-nonfree-extrasound sun-java5-plugin  adblock-plus firebug firefox-greasemonkey firefox-webdeveloper

plugins, extensions, etc

sudo aptitude install flashplugin-nonfree-extrasound sun-java5-plugin
sudo aptitude install  adblock-plus firebug firefox-greasemonkey firefox-webdeveloper

# to make plugins works for firefox 1.5 or swiftweasel
cd /opt/firefox/plugins
sudo ln -s  /usr/lib/flashplugin-nonfree/ 
sudo ln -s /usr/lib/jvm/java-1.5.0-sun-

internet explorer 5, 5.5, 6

sudo aptitude install wine cabextract
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*

other browsers

sudo aptitude install conkeror epiphany-browser kazehakase


# dial-up
# terminal:
# sudo aptitude install pppconfig
# for gnome:
# sudo aptitude install gpppon
# sudo aptitude install gnome-ppp
# for kde:
# sudo aptitude install kppp
# sudo aptitude install kppp-kde4

dial up, softmodems / winmodems / linmodems

adsl pppoe

minimal apps

you might want additional apps.

see tiny linux applications

# other stuffs
sudo aptitude install openjdk-6-jdk pidgin gkrellm wine qemu gxine xarchiver evince
# tools for desktop
# sudo aptitude install conky
# sudo aptitude install gkrellm
# stuffs i like, tools i use
# sudo aptitude install zim

alternatives apps:

games emulation

emulator for playstation, super nintendo, gameboy advance, atari, amiga, sega genesis/megadrive

sudo aptitude install pcsx zsnes vbaexpress hatari uae dgen


# see the list of apps for junior. select which ones you want
aptitude search junior
sudo aptitude install gnuchess gcompris childsplay junior-art junior-internet
# make gnuchess works from gcompris
sudo ln -s /usr/games/gnuchess /usr/games/gnome-gnuchess


aptitude search education-
# sudo aptitude install education-desktop-gnome


WARNING: do not use tasksel to remove any apps until this bug is fix:

easily install a group of apps with tasksel.

# to add more tasksel selections:
# sudo aptitude install education-tasks junior-tasks med-tasks

tasksel --list-tasks
# sudo tasksel install web-server
# sudo tasksel install mail-server
# sudo tasksel install desktop
# sudo tasksel install laptop

use OLPC XO without buying one

sudo aptitude install sugar sugar-activities sugar-emulator education-desktop-sugar

more multimedia.

multimedia center

sudo aptitude install freevo
sudo aptitude install elisa
sudo aptitude install mediatomb #upnp media server

cd ripper

easy ripping

# choose one of these
# sudo aptitude install sound-juicer
# sudo aptitude install grip

secure ripping

sudo aptitude install ruby libglade2-ruby ruby-gnome2 libgettext-ruby-util cd-discid cdparanoia lame vorbis-tools flac normalize-audio mp3gain vorbisgain

# get latest rubyripper
tar zxvf rubyripper-x.x.x.tar.bz2
cd rubyripper-x.x.x

other options for linux secure ripping

dvd ripper

# one of these
sudo aptitude install thoggen
sudo aptitude install dvdrip


remote access

remote access server

depends on how you want to access your pc remotely.

sudo aptitude install openssh-server
sudo aptitude install openvpn
sudo aptitude install xrdp # allow any windows rdp client connect to your linux
sudo aptitude install x11vnc

remote access client

sudo aptitude install openssh-client
sudo aptitude install kvpnc # kde vpn client
sudo aptitude install network-manager-openvpn #manage openvpn on gnome
sudo aptitude install rdesktop #rdp cli
sudo aptitude install tsclient #framebuffer/x gui for rdesktop
sudo aptitude install gnome-rdp # heavy weight rdp for gnome
sudo aptitude install krdc # heavy weight rdp for kde


sudo aptitude install filezilla  firefox-webdeveloper geany kompozer openjdk-6-jdk


sudo aptitude install cakephp-instaweb


sudo aptitude install python-django runserver

ruby on rails

sudo aptitude install ruby-full rubygems
sudo gem install rails --include-dependencies
# sudo gem install ebb
# sudo gem install mongrel

software developer

sudo aptitude install geany build-essential checkinstall
#kernel source
#sudo aptitude install linux-headers-2.6.24-19-server openjdk-6-jdk


sudo aptitude install labyrinth


sudo aptitude install xfonts-intl-chinese xfonts-intl-chinese-big unifont ttf-arphic-ukai ttf-arphic-uming scim-pinyin iceweasel-l10n-zh-cn iceweasel-l10n-zh-tw


sudo aptitude install biblememorizer bibletime gnomesword sword-text-kjv sword-text-web 
sudo aptitude install display-dhammapada
sudo aptitude install minbar itools zekr


hardisk health

sudo aptitude install smart-notifier

connect your mobile phones

try one of these

sudo aptitude install gnome-phone-manager
sudo aptitude install wammu
sudo aptitude install xgnokii
sudo aptitude install gmobilemedia
sudo aptitude install kmobiletools
sudo aptitude install xgsmlib #not in hardy (yet?)

laptop cpu & power management

sudo aptitude install laptop-mode-tools cpufrequtils


sudo aptitude install wifi-radar
sudo aptitude install bluez-utils
sudo aptitude install obexpushd
sudo aptitude install irda-utils
sudo aptitude install anyremote


# module-assistant -t a-i alsa-source 
# only do this if your sound not working


sudo aptitude install setserial minicom

other applications

see more tiny linux applications

first, the easiest way is to check if the apps you want is in the repo:

sudo synaptic
aptitude search what you search for
sudo aptitude install what-is-found

if you cant find there, then try these:

deb packages

if you download file with .deb extensions, here's the easiest way to install it with all its dependencies

sudo aptitude install gdebi-core
sudo gdebi softwarepackages-1.2.3.deb

binary tar.gz / tar.bz2

if you download a binary linux, here's how to install it:

tar zxvf softwarepackages-1.2.3.tar.gz -C /opt
tar jxvf softwarepackages-1.2.3.tar.bz2 -C /opt
#then run the apps:

source code

before you can compile from source code, you need build-essential package.

sudo aptitude install build-essential checkinstall
tar zxvf software-source-1.2.3.tar.gz
# optional, you might need to configure first:
# ./configure
sudo checkinstall

misc etc

  • polipo: small caching proxy
  • gdebi: install deb packages and its dependencies
  • conduit: tools to sync files with, photo with flickr/picasa, etc…
sudo aptitude install gdebi polipo

debian repositories

if you have problem installing apps (like 404 not found etc) try switching other debian mirror

last time i check, is outdated and missing some packages.

debian /etc/apt/sources.list with better local mirror

use this mirror ONLY if you're in Indonesia. for Indonesia ONLY!

if you select your country at install time, you should be presented with your local mirror

# to easily replace with use this:
# sudo nano -w /etc/apt/sources.list
# then press CTRL-\ 
# and then enter in what to replace. 
# then enter for the replacement
# or, you can just copy from here and replace everything in your sources.list
# then CTRL-X to exit. and choose save when asked.

# for any other countries, you can use to use main server
# but depends on your isp, this might slow down your connection.

# deb cdrom:[Ubuntu-Server 8.04 _Hardy Heron_ - Release i386 (20080423.2)]/ hardy main restricted
# See for how to upgrade to
# newer versions of the distribution.

deb lenny main non-free contrib
deb-src lenny main non-free contrib

deb lenny main non-free contrib
deb-src lenny main non-free contrib

additional / third party repos

# /etc/apt/sources.list.d/others.list

# debian multimedia
deb testing main
deb-src testing main

# Google software repository
deb stable non-free

deb lenny non-free

deb hardy multiverse

#lxde is now on lenny. no need to add other repo.

# ekiga snapshots
# sudo aptitude install ekiga-snapshot
deb ./


  • why everything use aptitude?
        • somewhat n00b friendly. minimal fussing with apt/source.list, no tedious install from source
        • it ease my life. any new apps, bugfix or security update i just do aptitude upgrade
  • why not apt-get
        • aptitude keep a record of what you install and offer you to remove unneeded dependencies.
        • google for more info


note: some of these projects may need you add more repositories
other similar projects:


problems & fixes

Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License