KeePass-2.18 -- partial success

Antivirus, forensics, intrusion detection, cryptography, etc.
Post Reply
Message
Author
batchain

KeePass-2.18 -- partial success

#1 Post by batchain »

Update July 17, 2012

I have not be able to resolve the various issues with
this project and so have stopped working on it.

###

Hello All,

I have compiled Mono and friends in an attempt to get KeePass 2.x working in Puppy Linux.
There has been some limited success.

There are some caveats:
This has *only* been tested on a Lucid 5.25 puplet, other versions of Puppy likely will not work
because of library version mismatches. The install is about 141 MB which may be more
than your ram or pupsave location can handle. I am not a developer, so this is a clumsy bit of work.

The setup:

Diamond Puppy 2.12rtp (based on Lucid 5.25) uses the OpenBox 3.4.11 window manager
Firefox 10.0.2
KeePass 2.18 with Mono work-around
Mono 2.10.8
libgdiplus 2.10
xdotool 2.20110530.1

Mono, libgdiplus, and xdotool were built from source using Debian 6.0.3 (squeeze).

KeePass has partial functionality most of the time, with occasional freezing of both
Firefox 10 and KeePass itself. When the apps do freeze, keyboard and mouse do not function
in the apps, but do outside; so the apps can be killed with killall in a terminal. I have
not tried the graphical kill-window feature of OpenBox.

When KeePass is working:
  • What works:
    • Administration using the toolbar and right-click menus
    • Copy and paste of login info into browser
    • The same Database.kdbx can be used and modified on both Linux and Windows
  • What works occasionally:
    • Auto-typing with Control-V or right-click menu
  • What is annoying:
    • Unpredictable appearances of the KeePass login window in the middle of an auto-type
    • Unpredictable window behavior when 'Minimize to tray instead of taskbar' is set
    • 'Open File' dialog boxes list the different layers of the Puppy filesystem
    • The previously mentioned window freezing
    • At this point, installing the compiled software on Puppy requires some command-line work
    • The install is about 141 MB, 135 MB of this is Mono
  • What does not work:
    • Drag and Drop of login info; I assume this is due to OpenBox not
      having drag and drop in general.
General information and specific information at the KeePass site on running
KeePass 2.18 with Mono >= 2.6 under Linux

Downloads

KeePass_120116_Unix.zip KeePass 2.18 with Mono work-around

The links below open a download page for each file in my account at smartbins.net.
These are the compiled programs needed for KeePass to work on Linux.

mono-2.10.8_no_moonlight.tar.bz2 50.67 MB -- md5sum 43ff83a254b1d058c23d620711aa53df
libgdiplus-2.10.tar.bz2 792 KB -- md5sum 6d6444e9858d75d3b2371b7734a5a28b
xdotool 84.98 KB -- md5sum 0aec3672631dc146793fa167fb302b44
start_KeePass.sh 326 bytes -- Bash shell script

Installation

Caution: Using a graphical file manager (ROX, Thunar) to unpack the zip and tarballs
is not advised unless you are certain about where the contents are going to land.

The KeePass zip file does *not* unpack into its own directory, so I do this:

Code: Select all

mkdir  /opt/KeePass-2.18  &&  unzip  KeePass_120116_Unix.zip  -d  /opt/KeePass-2.18
The mono and libgdiplus tarballs will unpack into /opt with this:

Code: Select all

tar  -jx  -C  /  -f  /path/to/tar.bz2
xdotool should be placed in your $PATH, /usr/local/bin is good.

start_KeePass.sh can be placed anywhere you like your shell scripts, somewhere
in your $PATH is good. This script sets some environmental variables either
necessary or useful for starting KeePass.

Check that KeePass.exe, xdotool, and start_KeePass.sh have execute permission.

Open a new terminal and run start_KeePass.sh

Code: Select all

#  /path/to/start_KeePass.sh
For reasons unknown to me, the terminal will output lines like this: SendMessage (0, 0x1204, 0x2, 0xbf99eff0)
but then, KeePass should appear.

If it does not, check the following, you should get something similar:

Code: Select all

~ # ls -F /opt/
KeePass-2.18/  lib/  Mono-2.10.8/

~ # ls -FR /opt/lib/
/opt/lib/:
libgdiplus.a    libgdiplus.so@    libgdiplus.so.0.0.0*
libgdiplus.la*  libgdiplus.so.0@  pkgconfig/

/opt/lib/pkgconfig:
libgdiplus.pc

~ # ls -l /opt/KeePass-2.18/KeePass.exe
-rwxr-xr-x 1 root root 1827840 2012-01-16 10:34 /opt/KeePass-2.18/KeePass.exe

~ # ls -l /opt/Mono-2.10.8/bin/mono
-rwxr-xr-x 1 root root 2781600 2012-02-25 19:15 /opt/Mono-2.10.8/bin/mono

~ # ls -l /usr/local/bin/xdotool
-rwxr-xr-x 1 root root 87020 2012-02-24 16:35 /usr/local/bin/xdotool

~ # ls -l /path/to/start_KeePass.sh
-rwxr-xr-x 1 root root 326 2012-02-29 19:46 /path/to/start_KeePass.sh

If you have edited start_KeePass.sh, check that your edits are accurate.

Hopefully, you are now using KeePass2 on Puppy Linux.

Post Reply