Xubuntu 13.10 … after the install

I meant to write this post a long time back, but, I had to attend to some important matters at home, so … here is the post now.

This post is more for my future reference, but, if some or most of the content helps you … that would be all the better.

So, immediately after installing Xubuntu, here are the thing I typical do:

Setup the desktop environment:

Using the settings manager, I set up the desktop environment to my liking. Some of the things I get done in the settings manager include:

  • Delete the bottom panel that Xubuntu has by default. This panel, I believe is designed to give you a fake-Mac like feeling, but, I don’t like it, so it gets deleted immediately after install.
  • I setup my fonts. I like big fonts. E.g. on one of my Xubuntu machines I am using 12pt Droid Sans, which is large enough that I don’t have to squint to read the contents on my desktop.
  • I clean up my main menu and uncheck/hide most of the programs that I don’t use and don’t need.
  • I use keyboard settings to setup application shortcuts. As an example, here are my current application shortcuts …
My Xubuntu keyboard settings.

My Xubuntu keyboard settings.

Setting up screen brightness:

All of my current laptops love to start up into highest brightness. That hurts my eyes. So, I like to set my screen brightness across boots by adding this line into my /etc/rc.local file, before the last exit line in that file:

echo 7 > /sys/class/backlight/acpi_video0/brightness

And with that line added, it is important to make sure that rc.local is actually executable. So:

$ sudo chmod +x /etc/rc.local

Enabling autologin:

I find it painful to select my user-id and then enter the password on my laptops. So, I end up enabling auto login. What that does is simple: the system directly boots into my account, bringing up my desktop directly. You could choose to do this at install time, but, I always forget that. So, I do it manually by editing the /etc/lightdm/lightdm.conf file to add this line:


Set up CapsLock as Control key:

This is fairly important for me because I have a bunch of systems that have CapsLock and Fn keys misplaced. (Yes, I am talking about you old IBM and new Lenovo Thinkpads!) Even more importantly, in my last 25 odd years of using PC-s, I have NEVER used the caps lock key for anything worth while. So, I like to reconfigure my caps lock to make it an additional control key.

First I edit the file /etc/default/keyboard and change XKBOPTIONS like so:


… and then I run this command to make sure the keyboard configuration changes forever:

$ sudo dpkg-reconfigure keyboard-configuration

Setup APT so it does not delete old .deb files:

At home I have a bunch of old systems running Xubuntu 13.10. And I live in India where we pay very high fees for very low speed, flaky Internet access. Also, the bandwidth caps are severe. E.g. I pay almost US $20 (equivalent) for a DSL plan that has the following caps: 1Mbps upto 6GB and about 400kbps after that. Clearly, preserving bandwidth is something I care about. And so, I don’t like to download the same deb packages again and again.

So, what I typically end up doing is that I update one of my Xubuntu systems, then tar up the /var/cache/apt directory and copy that tar onto the other systems. The /var/cache/apt directory has the deb files for latest packages somewhere under it. What this does, is that when I run “sudo apt-get update and sudo apt-get upgrade” on my other systems, they don’t need to download any packages! That’s a huge savings in data download.

(NOTE 1: till a couple of months ago, I had a script which linked my /var/cache/apt/archives directory to a directory on an external drive. The script would then update/upgrade/dist-upgrade the system. What all that would do is to put the updated deb files onto the external drive. Whenever I wanted to update a system, I would connect the external drive to it and run the script. This would avoid the whole tar-gz-scp-gunzip-untar business that I am doing right now to update my systems. I am currently not using that script because I am waiting for my new external HDD. I will publish that script sometime soon with the hope that it helps others.)

(NOTE 2: I need to learn about apt-offline and figure out if it would be easier/better for my case.)

So, the important thing here is to make sure that none of my systems delete old deb files. By default Xubuntu is setup to delete old deb files that are older than the pre-specified number of days, like 30 days or something. What I do is, I tell apt to not delete any of my old deb files … EVER! That is easy to achieve. I just edit /etc/apt/apt.conf.d/20archive file and change all numeric values to 0.

Reduce swappiness:

Ubuntu and its derivatives, like Xubuntu, are configured with a default swappiness value of 60. The swappiness value can range between 0 to 100. A swappiness value of 0 tells the kernel to avoid swapping processes out of memory as much as possible. On the other hand, a swappiness value of 100 tells the kernel to aggressively swap processes out of memory.

I have decent amounts of RAM in most of my current systems, spare one, which only has 2GB of RAM in it. So, I like to set the swappiness on my systems to 5, implying don’t swap too much as much as possible!

To achieve that I edit /etc/sysctl.conf file and add the following line to it:


Remove unwanted packages:

This is the penultimate step. In this step I get rid of the following packages:

  • Risteretto, the XFCE image viewer
  • Mines (package name gnomine and gnome-mines), because who’s got time to play games, eh?
  • Mousepad editor (package name mousepad)
  • Notes (package name xfce4-notes and xfce4-notes-plugin) because I keep my notes in Google Keep.
  • Catfish file search (package name catfish) because if I ever need to hunt down files, I open a terminal and play with find.
  • Orage calendar manager (package name orage) because I don’t think the Xubuntu guys-n-gals were serious when they included that package in the distro.
  • Thunderbird email client (package name thunderbird) because I just read my mail in my browser
  • Pidgin messenger (package name pidgin) because I have never, ever used it and really don’t see the need for it
  • GMusic browser (package name gmusicbrowser) because I don’t even know what this is for!
  • Abiword word processor (package name abiword, abiword-plugin-grammar and abiword-plugin-mathview) because … I never really use a word processor, but … (see next section)
  • GNumeric spreadsheet (package name gnumeric) because I find it hard to use!

Install useful packages:

This is the final step in my post-install modifications. In this step I install a few packages that I find useful.

  • Open SSH server (package name openssh-server) because I really like to ssh and scp into my systems.
  • GEdit, the GNOME text editor (package name gedit) because I feel comfortable using this nice piece of software for most of my normal text editing needs. Although, in reality I find myself launching vi from a terminal more often than using any fancy text editor.
  • Restricted extras which contains all sorts of codecs and other things I don’t really understand but i know I need for my system to be a useful music and video player (package name xubuntu-restricted-extras).
  • Libreoffice which contains a fairly full fledged office suite that satisfies most of my word processing, spreadsheet data analysis. creating presentations, and other office suite needs.
  • A bunch of tiny utilities like xchm (to read CHM files), fbreader (to view EPUB and Mobi files through a really ugly interface).
  • VLC Player if you want to.

And finally … after all those changes are done, I run:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ sudo reboot

… and I reboot into a sane system.