Linux For Cynics One user's experiences with Linux


Minimal Debian Install

Here's my guide to installing a lean Debian desktop. I went through these steps on a Thinkpad X200. Your needs may vary. Skip the parts that don't apply to you. This post will get you from zero to a working desktop. I will cover additional configuration and customization in another post.

Debian Net Install

First, get the net installer here: Debian Install Images. I went with the current Testing version, Wheezy. It should be suitable for most desktop users.

Because this is a net install, make sure you have an ethernet connection. Wireless won't do.

I'm assuming intermediate level experience with Linux in this guide so I won't go through each step of the installation. I'll leave paritioning and all that to you.

Once you get to the "Select and install software" step, select only SSH Server, Laptop Tools, and System Utilities.

Install sudo

If you did not supply a root password, sudo is already set up and you can skip this step. If you did provide a root password, you need to do it yourself. Time to install sudo and add yourself to the sudo group. This is not strictly necessary, but there are many benefits to using sudo over su. Let's say your username is dave.

$ su
# apt-get install sudo
# adduser dave sudo
# exit

Log out and back in again and there we go!


This isn't necessary if you don't have a wireless card, naturally.

As for me, this is a laptop, so I need to install wifi drivers. I installed using an ethernet cord but that won't do in the long run.

First, we need to add the non-free Debian repositories. Add these lines to the /etc/apt/sources.list file:

deb wheezy main contrib non-free
deb-src wheezy main contrib non-free
deb wheezy/updates main contrib non-free
deb-src wheezy/updates main contrib non-free

I wanted to use vim to do so, but it wasn't added. So, I installed vim:

$ sudo apt-get install vim

Once the non-free repo is added, update and install the driver I need. You might need different firmware:

$ sudo apt-get update
$ sudo apt-get install firmware-iwlwifi

Also get the wireless-tools package:

$ sudo apt-get install wireless-tools

So we have the driver, but now we need to use it!

Since the iwlwifi module is automatically loaded for supported devices, we need to reload this module to access installed firmware:

$ sudo modprobe -r iwlwifi ; modprobe iwlwifi

Now we see if the device has an available interface:

$ sudo iwconfig

Yep! Mine is called wlan0

Configuring your wifi can be done now through the terminal using wpa-supplicant, or you can wait until we have a GUI. I'm going to show you how to use wpa-supplicant because it's harder.

Time to use wpa-supplicant (installed with wireless-tools) to connect to my wireless network. Let's setup wlan0 with the SSID and PSK. Edit /etc/network/interfaces and add these lines:

auto wlan0
iface wlan0 inet dhcp
    wpa-ssid YOUR-SSID-HERE

Now let's see if it worked.

$ sudo ifup wlan0
$ sudo ifconfig wlan0
$ ping router-ip-here
$ ping

Yep! all good.


Okay so installing X is very easy:

$ sudo apt-get install xorg

We could startx now, but that would just give us an xterm. So let's choose a window manager. I'm avoiding full-blown Desktop Environments (such as GNOME or KDE) because this is supposed to be a light-weight install.

My favorite tiling WM is dwm, and my favorite floater is Openbox. I think I'll install them both, as sometimes things work in Openbox and not in dwm (such as screen sharing in Google Hangouts...I dont know why).

First the easy one, Openbox:

$ sudo apt-get install openbox

Because the scripts in /etc/X11/Xsession.d will eventually run x-window-manager, which is presumably set to openbox via the alternatives mechanism (/usr/sbin/update-alternatives --display x-window-manager), at this point you could type

$ startx

And start using Openbox right away, but I'm going to focus on dwm since it's my favorite.

Install your favorite window manager or desktop environment. I like dwm. But, because dwm is configured by modifying the source code and recompiling, it is best not to install it through the repositories (although that is an option if you don't care to change the defaults). The best way to use dwm is by using git, modifying the source, and compiling it yourself. Here's a guide. It can be summarized as the following:

Installing dwm "properly" means downloading the source, modifying it to our liking, and compiling it. This is because dwm doesn't use configuration files or scripts to customize it, the source itself must be changed.

So that means we'll need gcc, et al. If you're a programmer you'd get these things anyway:

$ sudo apt-get install build-essential

dwm requires x11 development libraries, as well as Xinerama development libs (if you want dwm to support mult-monitor). So install those too:

$ sudo apt-get install libx11-dev libxinerama-dev

Now let's get the dwm source code. I'm gonna use git.

$ sudo apt-get install git

And get the source from the suckless git repo:

$ git clone

That will create a directory called dwm.

$ cd dwm

Now make a copy of the config.def.h file so your configuration doesn't get clobbered if you download the source again:

$ cp config.def.h config.h

Make any changes you want to config.h. I won't go into it here.
And finally, compile and install dwm!

$ make clean install

In order to use dwm, we need to make startx use it. So let's create and modify our ~/.xinitrc

$ vim ~/.xinitrc

And add this line to the end of it:

exec dwm


Now just run:

$ startx


Now we have a desktop.


Let's install alsa.

$ sudo apt-get install alsa-base alsa-utils

And get it started:

$ alsactl init

And now test it to see if we can actually hear anything:

$ aplay /usr/share/sounds/alsa/*

Should hear a woman's voice saying "Front center" etc.

Something else you might start hearing is an annoying beep. This is called the PC bell. Disable that damned PC bell.


Make Nautilus –no-desktop Default

If you want to use the Nautilus file manager without it trying to manage your desktop, here's a way to make it always run with the --no-desktop option:

Rename the nautilus binary to something else:

sudo mv /usr/bin/nautilus /usr/bin/nautilus.original

Then create a script called nautilus:

sudo touch /usr/bin/nautilus

And open it in your favorite editor make it run nautilus with the --no-desktop option (as well as any other options passed to it) by giving it the following contents:

nautilus.original --no-desktop $@ &

Make it executable:

chmod +x /usr/bin/nautilus

And there you go! Clearly, this trick can work with anything else you want to apply default options to but cannot simply be aliased in baschrc (because not everything is invoked using bash, of course).

If you want to change it back to normal, just replace the "nautilus" script with nautilus.original.


Steam for Linux Sale

It's Tux...and things.

Valve is holding a Steam for Linux Celebration Sale! 50-80% off on all Linux games, till 21 Feb, 10 AM PST. Lots of games on that list. Not only that, but it's easier than ever to install Steam on Ubuntu, because Steam is now available in the Ubuntu repos! You can even install it from the Ubuntu Software Center. No scary terminal emulator to scare away new users.

I know what will attract many people to at least install Steam on Linux once is this little fella. That's right.  You get an in-game penguin item in Team Fortress 2 if you play it on Linux before the end of the month. It sounds silly, but TF2 players are silly people, and I know this will drive many of them to install Ubuntu just to get whatever this is.


I'm glad Valve is pushing Steam for Linux aggressively. I think targeting Ubuntu is a smart choice as well. However, if they are successful (and I hope they are), this means many, many new and possibly computer illiterate users coming from Windows. I hope the community can accommodate them with patience.

Ubuntu Linux is a great desktop OS. One of the communities that hasn't adopted it is gamers. I'm glad Valve is reaching out to them. If you're one and you haven't given it a whirl, maybe it's time to install Ubuntu & Steam and consider reformatting your Windows partition.

I promise you everything will go better than expected:




Fix GRUB with Boot-Repair

If you've ever done something to clobber GRUB (like installing Windows 8 or modifying your UEFI settings), then you know how much of a pain it can be to repair the damage.

Boot-Repair is a tool that will fix those mistakes with a single click. It generally just re-installs GRUB, but it has many options and settings that allow it to do more. It also generates output that is useful for asking for help from forums if it doesn't solve your problem outright.

The Ubuntu Community page on Boot-Repair explains how to use it. But the idea is you either boot from a LiveUSB or LiveCD that already has Boot-Repair installed, or you boot from a LiveUSB that has at least 128 MB of free space and install Boot-Repair. It is not in the official Ubuntu repositories yet, so you have to install from a deb or the PPA.


Humble THQ Bundle Clarification

So Humble Bundle is offering a bunch of THQ games. People are mad because they think this signifies a departure from HB's standards of DRM-free and cross-platform offerings. Well, chill out:

From arstechnica:

"John Graham assured users the company will "never stop creating Humble Indie Bundles... and the other bundle types we've successfully launched this year. But we’re also eager to see if our pay-what-you-want plus charity model meshes with critically acclaimed AAA content as well."

Graham said the new THQ bundle did not represent a permanent departure from the company's indie roots, and that the company may even release a third indie bundle this year. "This year has also been a year of many experiments for us that fall outside the traditional Humble Indie Bundle framework," Graham told us. "We’re very excited to be able to offer the gaming community a massive sale with blockbuster content and raise money for charity at the same time. We will of course continue to support indies content as a core of our business."

Regarding the lack of Mac and Linux ports this time around, Graham said plainly that, "in the case of this promotion, it would not have been possible for us to deliver this blockbuster content via other means." But Graham also promised the Humble Bundle "will not cease in our quest to bring awesome content to Mac and Linux and Android," and pointed out that the Humble eBook Bundle contained the first digital publication of Neil Gaiman's graphic novel Signal to Noise."

The bottom line is that it doesn't change anything about how HB does things, and it means more money for both HB and charity.


Steam for Linux Beta

I was invited to in the second round of Linux for Steam beta. It works well on my ThinkPad X200 running Ubuntu 12.04 with Unity, but not flawlessly.

When I get some more free time I will play with it more.


UbuntuGNOME Remix Released

UbuntuGNOME Remix 12.10 has been released! There are torrents and mirrors if you want a fresh install, and upgrade instructions if you just want to install the ubuntu-gnome-desktop alongside Unity and whatever else you have installed. Of course, you need Ubuntu 12.10 first.

If you dare install 12.10 so close after it's release, give it a try. I will be waiting for the major show-stopping bugs to be ironed out. In the meantime, check out these reviews:

World of Gnome - UbuntuGNOME Remix Review
WebUpd8 - UGR Review


Ubuntu GNOME Remix (aka GNOMEbuntu)

GNOMEBuntu Coming Soon

OMGUbuntu reports that the new GNOME-shell spin of Ubuntu has released an alpha.

There isn't much more information about "GNOMEbuntu" aside from what is mentioned in that article. Watch for updates.

Personally, I have both Unity and Gnome-shell installed on most of my machines. I switch between the quite often and as far as DEs go, they are pretty similiar. I haven't decided on a favorite, but I do really love Unity's HUD.


Steam coming to Linux

If you play PC games you've probably already heard that Valve has announced that they are developing Steam for Linux. Specifically, Valve will support Ubuntu and leave it to the community to port it to other distros. This has been in the rumor mill for over a year. I'm looking forward to playing Team Fortress 2 on my Linux boxes.

I don't have anything to add to this news, but I figured it was worth mentioning.


New Skype 4.0 for Linux

The Linux version of Skype loses its beta status with its first update in years.
Improvements include:

  • New Conversation and call views
  • Improved audio and video Quality
  • Additional Web Cam Support
  • improved chat synchronisation
  • New status icons and emoticons
  • “Tabbed” conversations

If you have the old version of skype, you need to remove it.

sudo apt-get remove skype
sudo apt-get autoremove

The new version of Skype is not available in Ubuntu's repositories yet, so you have to download it from the website: Skype for Linux.

If while trying to install you get an error like this:

pkg: error processing /home/aakkuan/Downloads/skype-ubuntu_4.0.0.7-1_amd64.deb (--install):
trying to overwrite '/etc/dbus-1/system.d/skype.conf', which is also in package skype-bin:i386
dpkg-deb (subprocess): data: internal gzip write error: Broken pipe
dpkg-deb: error: subprocess returned error exit status 2
dpkg-deb (subprocess): failed in write on buffer copy for failed to write to pipe in copy: Broken pipe

It means you haven't completely removed your old Skype install. Make sure to run

 sudo apt-get autoremove

, as mentioned above.

I'm happy and surprised that Microsoft didn't block development of Skype for Linux. I really thought it was going on life support. Now, I haven't had much of a chance to test Skype 4.0 so I don't have an opinion on these improvements yet. Hopefully if it falls short or is buggy, the Linux for Skype dev team will listen to the community and offer updates more frequently than they have in the past.