Category Archives: Linux

MyKitaab Podcast

The mission of the MyKitaab podcast series is to help answer the question “I have written a book, how do I get it published in India?”

Here, host Amar Vyas talks to me about writing, blogging and Open Source software, especially  Emacs!

You can access the podcast as follows:

Or listen to it here:

5 Common Linux Misconceptions

1. The Linux Filesystem Hierarchy is a logical, sensible structure

It’s not. It’s something that has been cobbled together in an attempt to unify diverging practices. In an age of terabyte hard drives its easy to forget a time when you were limited to just a couple of floppy drives for storage and had to store programs across different locations.

That’s why program files today are stored in /usr and /opt. And /usr/local. And /usr/bin and /usr/sbin. Oh and /bin and /sbin. When you can’t store everything in one place, you have to make (sometimes artificial) distinctions between where things go. Remember a time when you used to boot up a computer with one floppy, then put in a second floppy with an application program, then a third floppy with data files?

Someone designing a directory structure in a world where terabyte HDDs are the norm might be persuaded it was a good idea to keep bootup files separate in /bin. But /usr/sbin? /opt? I don’t think so.

Have a look at Gobolinux <> As they say

GoboLinux is an alternative Linux distribution which redefines the entire filesystem hierarchy.

If you want to know what goes where, there’s a nice overview of the Linux Directory Structure here: <>

2. Bash is just like the Windows shell, except with different commands

Here’s a simple test. How do you use the ls command to list directories only?

Checking the man page, it’s obviously ls -d, right?


Do a Google search on linux list directories only and you’ll find a lot of people making the same mistake. It all comes down to failing to realise that its Bash that’s expanding the * wildcard, and not the ls command itself.

If you’re going to use Bash, you’re going to have to take a little time to read up on how it works. This is a great site: <>

(My preferred method is ls -d */, btw.)

3. The .exe files are in there somewhere

It’s easy to accept that file extensions aren’t necessary in Linux, but it’s hard to shake the idea that something like exe files are still lurking in there somewhere, albeit under different names.

Not really. Linux is far, far more modular than Windows. This is down to the philosophy on which the system is built: programs tools chain their input and output to produce results. A typical Windows application is a flat pack wardrobe, something that solves one problem. A typical Linux application has been formed from many parts using the equivalent of saws, hammers, screwdrivers and chisels.

As an example, a GUI based program that would be a single exe file in Windows would typically be a graphic interface to command line utility in Linux. In terms of user experience, there should be no difference, but behind the scenes, things are very different.

4. Linux is faster/uses less resources than Windows

That may have been true back in the Windows Vista Bloatware days, and it may be true for lightweight distros like Puppy Linux <> and Damn Small Linux <>, but its not so true now.

Windows 8 may have the worst user interface ever devised, but it installs quickly, loads quickly and runs quickly, matching if not beating systems like Ubuntu 14.04 in benchmark tests.

Why mention Ubuntu 14.04? Well, that leads onto the next point…

5. It doesn’t matter what it looks like, so long as it works

It does.

It really, really matters.

You might do everything via the command line. You might think that Openbox is all you need as far as desktop management goes, but you’re in a minority.

If you’re the only person using your computer, then fine, but if your less technologically inclined partner, friends, parents or children are relying on you to provide the IT then all of a sudden looks really matter.

Of course they does. In a world slowly being taken over by Apple this is so obvious it shouldn’t need saying.

The command line is fantastic, lxde is a miracle of economy, damn small linux is damn fine, but they’re not what most people regard as a solution. What most people want is something that looks good and is so easy to use they don’t even have to think about it. And there’s nothing wrong with that. I don’t care how my shirts are made as long as they look smart and feel comfortable. Most people feel the same way about their computer.

Installing Ubuntu alongside Windows 8 on a UEFI System

Gone are the days when Ubuntu installed without a hitch. Now there’s UEFI and Windows 8 to contend with. The Ubuntu site has this advice:  Here’s some advice based on my experience of installing Ubuntu on three separate machines over the past week.

1 Installing Ubuntu

  1. Put the iso on a pendrive/DVD in the usual way
  2. Turn on the machine and hit the key to bring up the boot options
  3. Change the settings so the machine will boot from USB first (naturally)
  4. If it’s UEFI, make sure secure boot is disabled and legacy boot is enabled
  5. Insert the pen drive and boot up. Ubuntu should boot in the usual way from the pen drive. It will then install with no problems (so far, at least.)

2 Troubleshooting

2.1 Machine won’t boot from USB/CD

This seems to be a Windows 8 feature. You need to boot up Windows 8 and do an advanced restart as follows:

  1. In Windows 8 goto PC Settings -> General -> Advanced startup.
  2. Choose Advanced Options -> Startup Settings

The machine will reboot and should hopefully find your USB/CD

2.2 Install Ubuntu alongside Windows option is missing from the install options dialog

Again, you have to boot into Windows 8 and then use the Windows disk partition manager to make a suitable partition. The Linux Partition manger doesn’t seem to work anymore

2.3 Ubuntu is installed, but machine still boots to Windows

Follow step 5 here:

Easy! I don’t think so. Not only have Microsoft ruined a perfectly good desktop, they seem to be doing a pretty good job of ruining the ease of installation for other operating systems. I wish they’d get a grip.

Upgrading to Ubuntu 13.10

I’ve just upgraded some of the computers in my house to Ubuntu 13.10. The main PCs, the ones used by my wife and I are still on Ubuntu 12.04 LTS, due to the fact that they are essential to our jobs. We can’t afford a break in work whilst we sort out an unsuccessful upgrade.

Aethernet Magazine is due out in three days time. We’ve been caught out before by broadband outages, hardware failures, and simple but the worst trouble we’ve had was my upgrading to org mode 8 just days before going to press. Org mode 8 is a worthwhile upgrade, but we wasted valuable time having to read up on the new features and configuration settings when we should have been upgrading.

So why bother upgrading the other computers?

Because this is how we pay back the open source community. There are complaints about the direction that Ubuntu is going, about the Unity interface, about Amazon sponsorship of search results. And all this is right and proper, these debates will determine the future direction of the software, maybe not such much as we would like, but there are always other operating systems. Personally, I like the Unity interface, the only thing that really irritates me is the fact the menu items appear at the top of the screen. But that’s just my opinion, and, actually, it’s irrelevant to the question of upgrading.

At the end of the day, we are getting an operating system for free. Installing the upgrades mean we’re submitting crash reports and bug fixes. It can be a pain, particularly if the system doesn’t reboot as happened to me on two PCs with the upgrade to 13.04. Actually, it can be more than a pain: it’s incredibly annoying, particularly when something that was working before the upgrade, like the sound, stops working. It’s frustrating, it’s annoying, it can leave you cursing the stupid developers who released this incomplete implementation. But’s the deal. Things are going to go wrong. That’s why you’re upgrading. If you don’t like it, stick with the LTS version. If it’s really that bad, switch to another distro, or better yet go to Microsoft or Apple.

After all, they’re perfect. They never go wrong.

Similar Entries

Ctrl-Alt-Delete Task Manager

One of the things I really missed when I moved to Linux was hitting Ctrl-Alt-Delete and bringing up the Task Manager. Okay, maybe I didn’t miss it so much, programs don’t hang anywhere near as often on Linux, but when they did I found hitting Ctrl-Alt-Delete brought up the log out message on my distro.

If all you are looking for is the Task Manager, then open the System Monitor. You can end processes from there.  If you want to know a little bit more, read on…

What is a process? A process is the execution of a command by the Linux kernel. The parent process is called init. Type pstree in the terminal and you’ll see something like the following:


You’re more likely to use the ps command to see processes.

Typing ps in its own will show the processes associated with the user in the current terminal.


Here the only processes running are terminal and the ps command itself.  Notice each process has a PID or Process Identification number associated with it.

ps -e will show every process running. This will produce a long list, so you’ll probably want to use grep to find the process you’re looking for.  Suppose you were looking for nautilus –

ps -e | grep naut

2103   ?   00:00:04     nautilus

You can see from above that the nautilus PID is 2103.  Suppose you want to kill the process.  A little research might suggest that

kill 2103

will kill the process.  Actually, it won’t.  The kill command doesn’t kill a process: it sends a SIGTERM signal to the process asking it to terminate itself.  This gives the process time to clear up behind itself before it goes.

kill -9 2103

will send a SIGKILL signal, terminating the process immediately.



Essential Applications and Utilities

Coming from a Windows environment, it can be a bit confusing hearing people talk about Nautilus and Gedit.  Where are the File Manager and Notepad?  The following is a list of software that you should know about.  Note that Ubuntu is based on GNOME, so some of these are GNOME utilities.  Other distros may use other applications


The GNOME text editor.  Pretty straightforward to understand.


The GNOME file explorer.


The command line interface.  Terminal runs the shell.  By default, Ubuntu runs the BASH shell, so you may hear people saying open BASH.  There are various shells available, stick to BASH for the moment.  There is a seperate section here for BASH commands

System Monitor

Similar to the Windows Task Manager



You may also want to install the following programs


Pronounced vee eye.  An early text editor.  Some people still use it today and can get quite enthusiastic about it.  You should have a quick look at it as it is always installed in some form on Linux distros, and is available even when other text editors aren’t (for example, when the computer is failing to boot properly).  Install vim (vi improved) and follow the tutorial.  It will take you about half an hour.  You’ll be glad you followed it someday.


Another early text editor, one still used a lot by developers.  It’s written in emacs lisp and is fully customisable, so much so that it can be used for just about anything.  Install it from the Software Centre and follow the tutorial.  Emacs shortcuts crop up all over Linux (for example, the terminal uses Ctrl a and Ctrl e to jump to the start and end of lines) so it’s worth having at least a passing acquaintance with this program.  I use Emacs a lot.  There is a section on this website devoted to its use…