SlimOS How To – A Minimal Debian Desktop with Minimal Fuss (Part 1)

I have been using an Ubuntu desktop for the last few years doing the version upgrades and having no issues to speak of with it. But I also started to notice that the system was being a bit slow with larger applications like Firefox and others. Recently I have been moving back to my roots in terms of using terminal apps over pretty GUI versions. So I decided to take on the challenge of doing my once every two years complete reinstall of my home desktop with a slant on minimalism and cleanness.

I looked at various “distributions” like Crunch Bang, Dream Linux, Arch Linux, and countless others.  Yet it is somewhat of a stretch to call most of them distributions since just bundling and branding or Debian based packages. So I decided to just go to the source and roll my own. This is by far the best option for a clean minimal desktop with only what you need and will use on it.

Let me first describe my idea of “cleanness” in a desktop install. I will be using Debian 6.0.1 as the base for my system. I have chosen this over Ubuntu for the ease of doing a very minimal clean install free of Gnome, KDE, etc. My install will be using awesome window manager, which is a very lightweight tiling window manager that uses lua. If you prefer something more familiar to the average user please look at Openbox, Fluxbox, or similar to maintain the minimalist approach.

First let’s install the base system using the Debian small CD iso image (consult Debian site for other architectures):

debian-6.0.1a-amd64-businesscard.iso – AMD 64bit

debian-6.0.1a-i386-businesscard.iso – i386 (32bit)

For easiest results I use a spare USB drive I can format and use unetbootin to load the ISO image on the drive. Once it is loaded on the drive I boot from it. You may need to hit a key like ESC to choose what device to boot from depending on your hardware and BIOS configuration. You can also use a CD and burn the ISO image onto it.

When I run the install I select a separate /home dir and to encrypt using LVM (optional but good for security). Towards the end of the install you will be prompted to select broad groups of install sets. De-select all but “Standard system utilities” and complete the install. You may also want to select “Secure Shell Server” if you will be using SSH to connect to your desktop (always nice to have).

Now in my case I wanted to install awesome and get the basic desktop going. If your hardware includes a Nvidia graphics card use this howto to install the kernel.

Install sudo and add your user to the /etc/sudoers file:

(as root) apt-get install sudo vim

vim /etc/sudoers

# Change username to your user and add below line to file

username ALL=(ALL) ALL

Now let’s add contrib, non-free and Debian multimedia to our APT sources.list file.

Open /etc/apt/sources.list using vim or other txt editor and add contrib and non-free after main in the file so the lines read

deb http://yourmirror.org/path/to/files/ squeeze main contrib non-free

Also add the line for Debian Multimedia:

deb http://www.debian-multimedia.org squeeze main non-free

Once done update your apt repo cache by running:

sudo apt-get update

First install the multimedia repo key:

sudo apt-get install debian-multimedia-keyring

Select yes when prompted to add the key.

Install SLiM (optional) if you prefer a graphical login manager. Along with awesome and its extras.

sudo apt-get install slim awesome awesome-extra

Now you can reboot (if installed Nvidia driver be sure to) or just run slim to get the graphical login and enter using your username which should launch awesome. Once loaded you may want to read up on the awesome man page for keyboard shortcuts.

If you right-click on the desktop or left-click on “A” in top left corner you will get a basic menu. Choose open terminal and we can install other wanted/needed packages for your new desktop.

You can pick and choose what packages to install but I will give you a basic rundown of ones I installed to make me able to work efficiently while still being minimal.

  • feh – image viewer
  • wicd – network configuration tool
  • moc – music on console command line music player
  • uzbl – lightweight web browser framework
  • conky – desktop system information display
  • vlc – video player
  • pidgin – IRC and IM client
  • gedit – text editor (choose your favorite)

 

sudo apt-get install feh wicd moc uzbl conky vlc pidgin gedit

The Arch Linux wiki has nice page of lightweight applications for many needs. Once you have the above packages you can use uzbl to download and install Firefox or Chrome.

In command prompt:

uzbl --uri=http://www.google.com/chrome/

Download the file, it will be saved in your /home/username directory.

Run:

dpkg -i google-chrome-stable_current_YOURARCH.deb

It will give error that some packages are not installed. This is to be expected.

To remedy the missing dependencies run:

sudo apt-get install -f

Then run the above command to install Chrome browser.

Install any other packages you may want. In Part 2 I will discuss pimping out your awesome desktop.

 

6 comments

  1. i cant download the :
    debian-6.0.1a-amd64-businesscard.iso and debian-6.0.1a-i386-businesscard.iso.

    There is a link for that?

  2. I realize this is a rather old post but if you are still maintaining this site you should be real close to your “once every two years complete reinstall of my home desktop”.

    I have installed awesome off and on many times now and there is always some point that I mess up my config. If you are still using awesome or at least remember your pimping process I would love to see it. I could really use a cleaner method than I have used in the past.

    1. I have been using OpenBox for some time. So do not have the configs for Awesome. For all my configs I usually keep them in git or SVN repo so I can roll them back and use them on multiple machines.
      Good luck with it!

  3. I’ve done the same thing, for the same reasons as you. I installed a Debian testing with nothing else (not even system tools) and used apt-get to install some basic apps. I tried Fluxbox, LXDE, Gnome, KDE and several other window managers and desktop environments using the –no-install-recommends option. Fluxbox (fluxbox) took a bit to get used to, but was amazing given it’s size, LXDE (lxde-core) could use some polishing (like being stuck with wicd), and KDE (kde-plasma-desktop) was nice but ate too many hardware resources (I was using a very old computer). Another desktop environment I liked was XFCE (xfce-core). After having played around with desktop environments, I tried the login interfaces (xdm, gdm, slim, kdm) and it’s obvious that the best one is KDM. Slim is also very nice, but it’s a bit too… slim. Stay away from XDM if you want to live. As browser, I just used apt-get to install chromium-browser (chromium was a game so they name the Chromium browser package as chromium-browser, but I think that changed since Wheezy). As terminal emulator, LXTerm (lxterminal) and Konsole (konsole) will do; I prefer LXTerm over all the others and it works fine on all desktop environments. System utilities which you might need: mc, less, openssh-server, openssh-client. And that was it! I’ve used my custom configuration for months and it was cool to learn about what lies beneath the surface of Debian and GNU/Linux software in general by finding packages, learning about what they do, why things don’t work with each other, etc.

    I strongly recommend others to follow my footsteps, especially since there is all kinds of virtualization software available these days and a Debian VM with a GUI works with 512 MB of RAM for daily use (movies, browsing, etc.) (but could use 1 GB).

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>