KeePass in Linux

Post

KeePass is a brilliant program for password management. It’s free, works perfectly, doesn’t bound me to a certain provider that would store my password database on a server that I have no control of, and there are applications that allow me to work with the password database on my Android phone (Keepass2Android, KeePassDroid). When I switched to Linux, I wanted to keep using KeePass. If you are facing the same dilemma, here are your (two) options.

Option 1 - The good old KeePass 2

If you check the KeePass website, you will quickly discover that you can run KeePass on Linux using Mono, an open source implementation of Microsoft’s .NET Framework that KeePass uses. Running the program that you are used to and that you know that works is a logical choice. Unfortunately, you might be disappointed.

Installation

KeePass shall already be included in one of the default sources (probably “Independent”) so just try to install it:

sudo apt-get install keepass2

PROs

  • The good old stable program that you can trust.

CONs

  • Non-native interface - select a group that has more items than fit on the screen and try to scroll - nothing happens. You have to first click on any item to focus the main window area to be able to scroll.
  • Global auto-type of your credentials to any application in your system might not work even though it’s supposed to. I have never managed to get it work in Ubuntu 13.10 and 14.04.
  • Cursor sometimes disappears - click on the search field and there will be no cursor which will make you unsure if you have selected the field.
  • Copying to clipboard - sometimes you need to copy a password to the clipboard and paste it in another program. For some reason this doesn’t work with every program. Example: if I copy a password in KeePass (using Ctrl+C), I cannot paste it in PhpStorm. Does it have something to do with PhpStorm being written in Java? Maybe. I don’t know.
  • Various problems with rendering:

Option 2 - KeePassX 2.0 - Rise of the king

I have been aware of KeePassX (formerly KeePass/Linux), an open source version of KeePass. However, I was only aware of its first (and of January 2015 stable) version. The KeePass storage database comes in versions 1 and 2. The latter one brought support for custom data that I cannot live without and KeePassX 2.0 can work with this version.

Installation

  • Download the source code from the official website and compile the program. OR…
  • …use an easier option for Ubuntu - add PPA to your system that provides daily builds and then just install it as usual:
sudo apt-get install keepassx

 PROs

  • Native interface.
  • Working global auto-type.

CONs

  • Still in alpha version so you need to be careful and make frequent backups in case the program would somehow corrupt your database.
  • Auto-type sequence cannot be edited for a whole group, only on individual credential records.
  • Custom placeholders (e.g. {S:xxx}) not implemented in the auto-type.
  • Some of the auto-type placeholders cannot be used (e.g. {CLEARFIELD}) as well as keystrokes with key modifiers (e.g. ^a that represents Ctrl+A).

Conclusion - which one to go for?

As of January 2015, the alpha version of KeePassX 2.0 seems to be the best choice for working with a KeePass database on Linux even though it is still young and immature and care (= backups) need to be taken.