I’ve been using Linux for a month now, and while I’ve done it, I’ve been adding things to this post over here:


Well that post is extremely long now, and I accidentally had to reinstall it (video driver fight), so it’s time for a fresh post!

I had some complaints about Ubuntu 13.10, so I decided to go ahead and install the Alpha version of Ubuntu 14.4 (2 months before release).

So far:

– Nautilus (File browser) is now fixed! I can type stuff, and it jumps to files instead of invoking a tree search! Huzzah!

– I has Mesa 10.0.1 with OpenGL 3 drivers stock! And they work!

The way things are going, I think Ubuntu 14.4 LTS is going to be a really good long term update to Ubuntu. Out of the box, these annoyances were solved for me (video driver tomfoolery is what ruined my last install. No more!).

So far, no regrets.

Fun new keys and commands to remember

!!                     # Repeat last command
sudo !!                # Repeat last command as root
!-2                    # Repeat 2nd last command (and so on. !-1 for last, !-3 for 3rd, etc)
locate file            # OMG EASY WAY TO FIND A FILE!
which binary           # Which version of a binary is running (i.e. make -> /usr/bin/make)

ProTip: If using Ubuntu, and it says Dpkg, just don’t do it!

It’s so easy to break a Linux install. Apt and Dpkg (Synaptic) are package managers available to you. Both can be run, but these 2 managers don’t communicate at all, so if you’re not careful you can break stuff (like I did).

So if you’re using Ubuntu, prefer:

Ubuntu Software Center

For all your installation needs.

Or alternatively, make sure to NEVER use Dpkg on “drivers”. Let Apt manage this stuff, and you will save yourself a world of pain.

Backups and Restoring

Be sure to copy your entire user folder, especially the root! Re-setting up applications becomes extremely simple, as you can just copy the .hidden folders back in to your new home folder (~).

I got scared that I would have to waste an UltraEdit activation (ugh DRM), but nope, all I had to do was copy my .idm folder. Huzzah!

Need Flash? Use Chrome

Download it directly from Google.

I’ve been a loyal Firefox user for a very long time. That said, as someone involved in games, Flash content is still kind of important. There was a debacle some time back, Mozilla refusing to support Chrome’s PPAPI. Or basically, a new sandboxed API similar to the legacy NPAPI used by all the other browsers. PPAPI has another advantage in that it’s not only sandboxed from the browser, but sandboxed from the OS. It’s the foundation for Native Client (NaCl).

Adobe declared that it will not support Linux anymore. The last version of Flash for Linux is 11.2. They just didn’t want to maintain the old NPAPI version on Linux. Unusually though, to better support the Chrome Browser, Adobe makes a PPAPI port of Flash.

Recently, Google announced that they will be discontinuing NPAPI support in Chrome. To a lot of folks, this sounded like “no more Flash on Linux”, but most people seemed to have missed the memo that Flash supports PPAPI.

And since PPAPI is really only supported by Chrome, PPAPI Flash comes bundled with Chrome. Easy.

As of this writing, the Flash bundled in Chrome is version 12, the same as on Windows.

So really, the hardest part about Flash on Linux is switching away from Firefox.

VMware Player on Ubuntu 14.4 Alpha

The latest Ubuntu has a brand new version of the Linux kernel. That broke the network bridge driver code that VMware Player 6.0.1 ships with. The solution, a patch, can be found here:


Remapping keys on Ubuntu 14.4

Well it looks like the keyboard symbol files moved in the latest Ubuntu. Now they’re under /usr/share/X11/xkb/symbols/. Below is the modified snippet from my original post.

The Lenovo X220 has Web Forward/Back keys beside the arrow keys. I prefer that they act like alternative PageUp and PageDown keys.

Open up /usr/share/X11/xkb/symbols/inet (i.e. sudo gedit /usr/share/X11/symbols/inet)

Find a key named ****. Change “XF86Back” to “**Prior**“.

Find a key named ****. Change “XF86Forward” to “**Next**“.

Browse to /var/lib/xkb/

Delete *.xkm in the /var/lib/xkb folder. You need to do this to force a keyboard code refresh.

Logout, then Login to refresh. (Or reboot)

Power user GUI config tools

Install CompizConfig Settings Manager.

Install Unity Tweak Tool.

TODO: figure out the name of the tool I installed that made the taskbar work again. No, it wasn’t dconf-tools / dconf-editor.

Setting default file Associations to any program


mimeopen -d file_to_associate.ext

Emit Keypresses (when being clever)

Use XDoTool.

xdotool key Ctrl+c
xdotool key Super+a
xdotool key Control+Alt+Right
xdotool key Control+Alt+Left

On Windows, use nircmd.

nircmd sendkeypress lwin

Notable Patches

Minimize on Click (out of date, but a simple edit)

Disable Middle Button Paste

Taskbark Whitelisting. *sigh*… or a fix for Xchat.


TODO: Start a repos/ppa that undoes/fixes some of the annoying UI “fixes” Mr Shuttleworth has introduced in to Ubuntu and Unity. The F stands for what you think it stands for, and the UI is to polite’n up the U, and to be specific that the tweaks are UI related. Alternatively, FUXbuntu if feeling angry.

I want to still use a stock Ubuntu, but holy hell there are some frustrating UI decisions in Ubuntu.

UPDATE: Ubuntu 14.4 does fix the file browser.


Very important thing I *just* learned: Source!

If you write a shell script that (for example) sets environment variables, they will set the variables for any commands run in that script, but will not propagate outside of the script and in to the shell. The solution is to run the script inside the source shell, like so:

source ./MyScript.sh


. ./MyScript.sh

Startup and Environment Variables

To run things on startup, add them to .bashrc ~/.profile

export PATH="/opt/android-sdk/platform-tools:$PATH"

Simply log-out and log back in again for the changes to take effect.

More details.