Ubuntu 16.04

If I’m such a hard-core Linux power-user why do I turn to Ubuntu distributions for my personal use?  I actually got started with RHL 6.2 and that was a learning curve, way back when.  You had to really research the hardware you were going to install on, especially laptops, since playing the hardware swap game isn’t practical with a laptop.  But I digress.  I buy into the Debian philosophy, and I prefer the debian package manager to rpms.

When I was working at Motorola and my team was creating WebTop (a parallel userspace stack on an Android device) we used rootstock and generated an ARM root filesystem based on Ubuntu 9.04 (Jaunty).  For everything I need to do, Ubuntu is very satisfactory and it is easy to install and use.

I normally don’t like to be on the cutting-edge but systemd support is important for one of my technology deep-dives.  I believe Canonical switched over with 15.04/15.10 from upstart to systemd.  The 15.x releases are a non-starter for me since they aren’t LTS so that left me with 16.04 if I wanted systemd and LTS.

If you are new to Linux or Ubuntu, these are the recommended steps to follow:

  1. Download desktop image file (.iso) and burn onto a DVD (CDs are too small)
  2. Boot system from newly created DVD, select try, rather than install
  3. After boot from DVD, test-drive it, make sure the graphics work, try the browser, etc.
  4. Once you are satisfied, install


Whenever I install Ubuntu on a laptop I always have a 1-2-3 punch after the installation.  First punch is installing Synaptic Package Manager using Ubuntu Software Center.  To this day I do not understand the wisdom of the marketing droid at Canonical that said SPM is not a required package.  Complete rubbish.  One of the main selling points of any Linux distro is access to OSS, so why make it difficult, out of the box?  There must be a reason I’m not in marketing.


The second punch is disabling the bloody touchpad and using a wireless mouse.  I create two scripts, tp_disable and tp_enable and use these from the command-line after boot.  I’m sure there is a simple way to connect these scripts to a function key, I just haven’t spent the time.  The secret sauce comes from an Ubuntu help-desk ticket:


tmike@tmike-HP-ENVY-m7-Notebook:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M325 id=10 [slave pointer (2)]
⎜ ↳ SYNA7500:00 06CB:16E5 id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Intel(R) RealSense(TM) Camera S id=11 [slave keyboard (3)]
↳ Intel(R) RealSense(TM) Camera S id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ HP WMI hotkeys id=16 [slave keyboard (3)]
↳ HP Wireless hotkeys id=17 [slave keyboard (3)]

On my system the culprit is id=15, so the actual script looks like this (to disable):

tmike@tmike-HP-ENVY-m7-Notebook:~/bin$ cat tp_disable
xinput set-prop 15 “Device Enabled” 0

The third punch is to restore a reasonable shell.  Out of the box, Ubuntu gives you dash, which is OK if you want a baby shell that crawls around on it hands and knees.  To do any real software work you want bash as your command shell.

tmike@tmike-HP-ENVY-m7-Notebook:~$ sudo dpkg-reconfigure dash
Removing ‘diversion of /bin/sh to /bin/sh.distrib by dash’
Adding ‘diversion of /bin/sh to /bin/sh.distrib by bash’
Removing ‘diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash’
Adding ‘diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash’
tmike@tmike-HP-ENVY-m7-Notebook:~$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jul 7 17:20 /bin/sh -> bash

You will be presented with a question to answer, say No to leaving dash configured as your shell.