Related to many posts and requests seen in this forum as well as all over webworld for making Keepass to work in Mac, I am writing this.
I have tried in many possible ways of trying keepass to work on mac with varied results. I am not a dev of any sorts, but I have tried to gather ideas from so many posts. Thought of compiling what I came to know.
We don't have a real serious KeePass V2 for mac- that is true, even if it feels sad.
Following methods were tried. (on yosemite)
1 - KeePass with mono
As explained in our KeePass website, using mono and latest portable installer files.
Method:
download the latest mono and xquartz for mac available in their latest versions in their websites
download the latest portable keepass files, unzip it
open the terminal and type 'mono keepass.exe' without quotes, (better drag the executable file keepass.exe from the unzipped folder which will map the path of the file to execute)
enter
This runs the keepass 2 applcation well.
pros:
happy to see the application runs, though in a different looking way externally
database and most of the built in functions work
a very few plugins attempt to work - a lot I prefer day to day didn't.
cons:
externally it looks not so great - read it a little messed up
plugins which i prefer and use daily don't work
2 - Bundled KeePass
Another very good method using wine bottler and bundling keepass with .net
bundle it with .Net 4.0 (if you need only the keepass app to run 2.0 is enough; 4.0 is the best for all plugins- all others were not working as I expected)
bundle with wine app (optional to make it a standalone mac app which can be used or shared with others and run without installing the wine app)
It takes a few minutes, and go through the steps patiently till the end(don't forget to uncheck restart after .Net installation or uncheck run keepass after app installation)
A heavily bundled mac app will be generated at the end amounting to a very good size
pros:
you get a very good looking original keepass running on .net
almost all plugins which i needed worked natively on .net, though some user related bugs were there requiring workarounds
can be shared with others
cons:
very bulky app
plugins were little quirky very few times (may be they needed native .net framework rather than ported library)
not sure about the plugins and TOTPs as I didn' test that
5 - With mobile OS - easy as we always carry mobile around with us
A. Android: Keepass2Android
The very best app with nice plugins
a. USB typing using Keepass2 USB Keyboard Plugin
b. the app Pushbullet's universal copy paste (not sure about the security in middle of using third party app/plugin-but works with autoclear clipboard)
little efforts with dropbox to sync and copy paste to transfer [Update by T. Bug Reporter] WARNING: MiniKeePass doesn't synchronize databases, i.e., it can't move any edits made on the iPhone to the PC without also obliterating any edits that were made on the PC.
You have to remember to always re-import the database from Dropbox instead of just opening the copy that MiniKeePass has saved for itself, and to re-export to Dropbox.
I came to the conclusion that if you must have access to your passwords from your iPhone while also maintaining access from your PCs, the easiest way is to treat MiniKeePass as if it were read-only.
If you need to create / update an entry with MiniKeePass, copy the updated database to your KeePass machine and perform a sync there, then copy the synchronized database back to MiniKeePass. Avoid making other changes in MiniKeePass.
which is all like minikeepass with a fingerprint lock support on supported models
Summary:
a native mac app with much needed functions like plugins for TOTP, functionalities like autotype, triggers, browser integration is a much awaited expectation seen everywhere on the internet, but not yet glimpsed in the horizon.
as per user and his different mix of choice or needs-security vs convenience in his way, we can try make keepass work for us.
disclaimer: any unwelocomeable commits or omits which were completely unintentional, all data above were mere limited personal experiences only and all the hard works of so many devs were duly respected and appreciated
Last edit: Paul 2017-11-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The bundled option is fantastic since the Mono/Xquartz option is slow, clunky and has many UI bugs. However, has anyone experienced an issue where the wine/bottler version does not allow keyboard input after workspace lock? If I lock the workspace, the dialog to reauthenticate does not accept keyboard or mouse input.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am having the same issue as the first replier. Once the database has been locked, the program becomes unresponsive. The window to enter the passphrase is displayed, but it does not respond to keyboard or mouse entries. Has anyone else had this problem? If so, were you able to resolve it, and if so, how?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just wanted to share the way I acess my keepass file on my macbook. I run BlueStacks (to get an android emulator) in Bluestack I run KeePassDroid and Dropbox. My keypass file is in dropbox (hmmmmm..oh well I need to access it on lots of devices)
so from dropbox in bluestacks I can select the keepass file -> open it in keypassdroid and get at my details
I would have more naturally gone for an IOS emulator to run MiniKeePass but a quick scan made that sound hard/unlikely to work so I went down the android emulator root
Pros: I can read and edit the file from my Mac Book (already use MiniKeePass from iphone)
Cons: That's a lot of stack to open a file and running an android app in an emulator on an mac is about as far from native as you can get :) But hey it works OK for me :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Note: There are other potential problems with this method. If you make changes to your KeePass file on one device but forget to close and save the changed file before opening the file on a second device, that second device won't see the changes, and if you use that second device to save other changes, then when you get back to the first device and save, the second device's changes will get obliterated (or, more accurately, they'll get relegated to a historical Dropbox copy that you'll probably never think to restore - and if you do restore it, you'll then lose the changes from the first device).
KeePass (the original PC version) is capable of synchronizing multiple files, but the Android and iOS apps are not. You should read about Synchronizing with Dropbox if you need a better understanding of why syncing is important, but you should also understand that you'll have to manage all this by hand if you don't have a machine capable of running the original KeePass program.
These instructions are only a draft at present, based on one user's experience. It's great that someone was keen enough to write it for us.
I intend to improve it, you'll just have to be patient.
cheers, Paul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I used brew to install mono and xquartz:
brew install mono
(mono: stable 4.0.1 (bottled))
Xquartz I installed the dmg package.
I downloaded KeePass-2.29 (portable).
Doesn't work for me, here what I get. Any ideas?
mono KeePass.exe
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Windows.Forms.CarbonInternal.Pasteboard.PasteboardPutItemFlavor (intptr,uint,uint,intptr,uint) <0xffffffff>
at System.Windows.Forms.CarbonInternal.Pasteboard.Store (intptr,object,int) <0x000bb>
at System.Windows.Forms.XplatUICarbon.ClipboardStore (intptr,object,int,System.Windows.Forms.XplatUI/ObjectToClipboard,bool) <0x0002c>
at System.Windows.Forms.XplatUI.ClipboardStore (intptr,object,int,System.Windows.Forms.XplatUI/ObjectToClipboard,bool) <0x0004d>
at System.Windows.Forms.Clipboard.Clear () <0x0002b>
at KeePassLib.Utility.MessageService.ShowFatal (object[]) <0x00172>
at KeePass.Program.Main (string[]) <0x0112a>
at (wrapper runtime-invoke) <module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff></module></unknown>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I just follow the instructions for mono + quartz. One additional step was necessary, which was to permit KeePass2.23.app to run because it wasn't from the App store. When it started, it did a new version check. This dialog couldn't be dismissed, and after awhile, mono crashed. mono version is 4.0.2.5, quartz version is 2.7.7. OSX version is 10.10.4.
Last edit: Eric Weitzman 2015-08-07
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello
Great guide but I am facing some troubles, could you help me out?
Using 2: Creating the the app with VineBottle, setting up VineBottle, creating the app, but after an error and no running KeePass.app (during Creation I can use the app).
THX
I think you need to select either "This is the program, copy it to the app bundle" or "This is the program, copy it and all files that are in the same folder".
cheers, Paul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Seams I had the wrong file, now with the Installer-setup.exe.
I can see the dot net install, after the keepass install during generation of the app.
After I start the app, I get an other error.
THX
Related to many posts and requests seen in this forum as well as all over webworld for making Keepass to work in Mac, I am writing this.
I have tried in many possible ways of trying keepass to work on mac with varied results. I am not a dev of any sorts, but I have tried to gather ideas from so many posts. Thought of compiling what I came to know.
We don't have a real serious KeePass V2 for mac- that is true, even if it feels sad.
Following methods were tried. (on yosemite)
1 - KeePass with mono
As explained in our KeePass website, using mono and latest portable installer files.
Method:
and xquartzfor mac available in their latest versions in their websitesThis runs the keepass 2 applcation well.
pros:
cons:
2 - Bundled KeePass
Another very good method using wine bottler and bundling keepass with .net
Required files/apps
Method: (Detailed build description)
pros:
cons:
3 - Using MacPass
MacPass Site
Method:
pros:
-cons:
4 - Browser related methods
BrowsePass
pros:
cons:
KeeWeb
pros:
cons:
5 - With mobile OS - easy as we always carry mobile around with us
A. Android:
Keepass2Android
The very best app with nice plugins
a. USB typing using Keepass2 USB Keyboard Plugin
b. the app Pushbullet's universal copy paste (not sure about the security in middle of using third party app/plugin-but works with autoclear clipboard)
B. i os:
Minikeepass
[Update by T. Bug Reporter]
WARNING: MiniKeePass doesn't synchronize databases, i.e., it can't move any edits made on the iPhone to the PC without also obliterating any edits that were made on the PC.
You have to remember to always re-import the database from Dropbox instead of just opening the copy that MiniKeePass has saved for itself, and to re-export to Dropbox.
I came to the conclusion that if you must have access to your passwords from your iPhone while also maintaining access from your PCs, the easiest way is to treat MiniKeePass as if it were read-only.
If you need to create / update an entry with MiniKeePass, copy the updated database to your KeePass machine and perform a sync there, then copy the synchronized database back to MiniKeePass. Avoid making other changes in MiniKeePass.
Keepasstouch (KeePass Touch)
Summary:
disclaimer: any unwelocomeable commits or omits which were completely unintentional, all data above were mere limited personal experiences only and all the hard works of so many devs were duly respected and appreciated
Last edit: Paul 2017-11-13
The bundled option is fantastic since the Mono/Xquartz option is slow, clunky and has many UI bugs. However, has anyone experienced an issue where the wine/bottler version does not allow keyboard input after workspace lock? If I lock the workspace, the dialog to reauthenticate does not accept keyboard or mouse input.
I am having the same issue as the first replier. Once the database has been locked, the program becomes unresponsive. The window to enter the passphrase is displayed, but it does not respond to keyboard or mouse entries. Has anyone else had this problem? If so, were you able to resolve it, and if so, how?
Just wanted to share the way I acess my keepass file on my macbook. I run BlueStacks (to get an android emulator) in Bluestack I run KeePassDroid and Dropbox. My keypass file is in dropbox (hmmmmm..oh well I need to access it on lots of devices)
so from dropbox in bluestacks I can select the keepass file -> open it in keypassdroid and get at my details
I would have more naturally gone for an IOS emulator to run MiniKeePass but a quick scan made that sound hard/unlikely to work so I went down the android emulator root
Pros: I can read and edit the file from my Mac Book (already use MiniKeePass from iphone)
Cons: That's a lot of stack to open a file and running an android app in an emulator on an mac is about as far from native as you can get :) But hey it works OK for me :)
Note: There are other potential problems with this method. If you make changes to your KeePass file on one device but forget to close and save the changed file before opening the file on a second device, that second device won't see the changes, and if you use that second device to save other changes, then when you get back to the first device and save, the second device's changes will get obliterated (or, more accurately, they'll get relegated to a historical Dropbox copy that you'll probably never think to restore - and if you do restore it, you'll then lose the changes from the first device).
KeePass (the original PC version) is capable of synchronizing multiple files, but the Android and iOS apps are not. You should read about Synchronizing with Dropbox if you need a better understanding of why syncing is important, but you should also understand that you'll have to manage all this by hand if you don't have a machine capable of running the original KeePass program.
[Edit by Paul]
KeePass2Android does sync.
https://sourceforge.net/p/keepass/discussion/329220/thread/d4a224de/#174f
Last edit: Paul 2016-03-09
Thanks for the nice summary. Would you mind if I edited it to improve the formatting, headings etc, not change the text?
cheers, Paul
most welcome Paul..
Okay, this instruction is so long and unfriendly it's time to call what it is. KeePass is not working on OS X.
How am I going to explain installing this thing for graphic designer?
Hell if he had to follow this instruction, he would loose interest in first paragraph and order the 1Password or something commercial.
Option 1 is described more concisely at http://keepass.info/download/p_macosx/index.html
KeePass is a Windows program so, as sarov found, installation and operation of KeePass on the Mac is not as simple or refined as on Windows.
Last edit: wellread1 2015-05-07
These instructions are only a draft at present, based on one user's experience. It's great that someone was keen enough to write it for us.
I intend to improve it, you'll just have to be patient.
cheers, Paul
Updated original text.
cheers, Paul
Nice, thanks! I've added a link to this thread on
http://keepass.info/download/p_macosx/index.html
Best regards,
Dominik
Thank You all,.
I used brew to install mono and xquartz:
brew install mono
(mono: stable 4.0.1 (bottled))
Xquartz I installed the dmg package.
I downloaded KeePass-2.29 (portable).
Doesn't work for me, here what I get. Any ideas?
mono KeePass.exe
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Windows.Forms.CarbonInternal.Pasteboard.PasteboardPutItemFlavor (intptr,uint,uint,intptr,uint) <0xffffffff>
at System.Windows.Forms.CarbonInternal.Pasteboard.Store (intptr,object,int) <0x000bb>
at System.Windows.Forms.XplatUICarbon.ClipboardStore (intptr,object,int,System.Windows.Forms.XplatUI/ObjectToClipboard,bool) <0x0002c>
at System.Windows.Forms.XplatUI.ClipboardStore (intptr,object,int,System.Windows.Forms.XplatUI/ObjectToClipboard,bool) <0x0004d>
at System.Windows.Forms.Clipboard.Clear () <0x0002b>
at KeePassLib.Utility.MessageService.ShowFatal (object[]) <0x00172>
at KeePass.Program.Main (string[]) <0x0112a>
at (wrapper runtime-invoke) <module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff></module></unknown>
Maybe Brew doesn't install the correct versions? Try manual installation.
cheers, Paul
I just follow the instructions for mono + quartz. One additional step was necessary, which was to permit KeePass2.23.app to run because it wasn't from the App store. When it started, it did a new version check. This dialog couldn't be dismissed, and after awhile, mono crashed. mono version is 4.0.2.5, quartz version is 2.7.7. OSX version is 10.10.4.
Last edit: Eric Weitzman 2015-08-07
How did you allow KeePass to run? I'll add it to the guide.
Have you tried KeePass 2.29 by extracting the portable version files over the existing?
cheers, Paul
Hello
Great guide but I am facing some troubles, could you help me out?
Using 2: Creating the the app with VineBottle, setting up VineBottle, creating the app, but after an error and no running KeePass.app (during Creation I can use the app).
THX
I think you need to select either "This is the program, copy it to the app bundle" or "This is the program, copy it and all files that are in the same folder".
cheers, Paul
Hi Paul
These settings does not finish the process, stops creating there.... (I have to abort)
THX
The instructions say to use the installer, not the portable. Maybe you use the setup.exe and your original settings.
cheers, Paul
Seams I had the wrong file, now with the Installer-setup.exe.
I can see the dot net install, after the keepass install during generation of the app.
After I start the app, I get an other error.
THX
That message seem to be complaining about not being able to find .NET. Try a different .NET version (4.5).
cheers, Paul
Hi Paul
4.5 does not work, error ?
2.0 the same as 4.0.....
can not get the thing to run....
THX
could anybody creat an app ?
Last edit: Richard 2015-08-16
Did you tick "Include Wine App" under App Bundle?
cheers, Paul