KeePass and the variance

KeePass is my favourite for password manager. In Linux, there are KeePassX and KeePass 2. There are several differences.

KeePass has two versions, they are KeePass version 1 and Keepass version 2, namely KeePass 2. They are using different file formats: kdb and kdbx. KeePass is natively runnable in Windows; KeePass 2 requires .NET Framework 2.0 (and above) or Mono (and above). That is why, KeePass 2 is able to run in Linux. Then, KeePassX is a port of KeePass, so that it works as cross-platform, including Windows. However, KeePassX is not based on KeePass 2. Thus, it cannot read/write kdbx. But, there is KeePassX version 2 in the alpha stage, which is available in GitHub.

CJK problem in KeePass 2 (Linux)

I personally found that KeePass 2 on Linux has several problems. CJK (Chinese/Japanese/Korean) characters do not work in KeePass 2. To make it work with Fcitx, I have to edit the desktop entry (.desktop) file by changing the exec to

Exec=sh -c 'GTK_IM_MODULE=xim QT_IM_MODULE=xim LANG=zh_CN.UTF8 keepass'

Besides that, I also found that KeePass 2 is a little slow. Nevertheless, KeePass 2 is more up-to-date comparing to KeePassX.

Format conversion in Linux

Because of the big differences of KeePass and KeePass 2, file conversion between the two versions has a little trouble, especially in Linux. KeePass 2 in Windows can import from and export to KeePass 1 format (xdb). Yet KeePass 2 in Linux does not work. So, my solution is using Wine with PlayOnLinux.

Download KeePass 2 for Windows, install .NET Framework 2.0 on Wine using PlayOnLinux, install KeePass 2. Then you can run KeePass 2 Windows version smoothly on Linux. As a result, you can import/export the xdb file. (Please aware that the CJK conversion may not work properly.)


So, if you are a Linux user, you can choose over KeePassX, KeePass 2, or KeePassX in GitHub, or even running KeePass Windows version in Wine.