In der KeePass-Dokumentation unter http://keepass.info/help/v2/setup.html#mono wird Ihr Problem beschrieben, obwohl OS X nicht ausdrücklich erwähnt wird:
Zwischenablage:
Auf einigen Systemen funktionieren die Routinen der Zwischenablage von Mono nicht ordnungsgemäß. Installieren Sie in diesem Fall das xsel-Paket. Wenn xsel
installiert, verwendet KeePass ≥ 2.20 dieses Dienstprogramm für Zwischenablagevorgänge.
Sollte also xsel
helfen. ( xsel
ist bei MacPorts erhältlich ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). Die Quelle finden Sie hier: http://www.vergenet.net/~conrad/ Software / xsel / # herunterladen )
EDIT : Aber das tut es nicht. Ich war neugierig und habe xsel
auf meinem Mac kompiliert . Es hat das Problem mit Kopieren / Einfügen (getestet mit Portable KeePass 2.20.1) nicht gelöst, wie ich befürchtet hatte, muss ich sagen. Warum? Denn wie hier angegeben, ist http://www.kfish.org/software/xsel/ xsel
ein Tool, das den Inhalt der Zwischenablage von X11- Anwendungen bearbeitet . X11 bietet die grafische Benutzeroberfläche für Linux und UNIX, aber OS X verwendet stattdessen Quartz und Mono, wie mir klar wurde (siehe http://www.mono-project.com/WinForms#About_System.Windows.Forms ).
Es gibt eine Problemumgehung zum Kopieren von Benutzername und Kennwort in die Zwischenablage, wie in diesem Thread erläutert : http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :
Ureka (sic) . Ihr 2.19 ist auf dem Weg zum Kopieren und Einfügen auf dem MAC über Mono! Ihre Schaltfläche zum Kopieren des Benutzernamens und Ihre Schaltfläche zum Kopieren des Passworts funktioniert jetzt !!!
Das obige Poster bezieht sich auf diese Schaltflächen (tragbarer KeePass 2.20.1 unter Windows (leider kein Mac in der Nähe)):
Zum Kopieren des Benutzernamens:
Zum Kopieren des Passworts:
BEARBEITEN :
Ich möchte mitteilen, wie ich kompiliert habe, xsel
falls jemand es unter OS X benötigt:
Installieren Sie X11 von http://support.apple.com/kb/HT5293 (dies gilt nur für Benutzer von OS X 10.8 "Mountain Lion").
Symlink - Header - Dateien und Bibliotheken von /opt/X11/include/X11
bis /usr/local/include/X11
und von /opt/X11/lib
bis /usr/local/lib
(alternativ können Sie einen symbolischen Link nach /usr/include
und /usr/lib
):
$ sudo ln -s /opt/X11/include/X11 /usr/local/include/X11
$ for lib in $(ls /opt/X11/lib/lib*); do sudo ln -sf $lib /usr/local/lib; done
Andernfalls erhalten Sie viele Fehler bei nicht gefundenen Dateien oder fehlenden Symbolen. Ich habe versucht, die nicht standardmäßigen X11-Verzeichnisse als Option ./configure
ohne Erfolg zu übergeben.
Laden Sie es von http://www.vergenet.net/~conrad/software/xsel/#download herunter und extrahieren Sie es beispielsweise auf Ihren Desktop.
Sie benötigen gcc
plus Bibliotheken. Installieren Sie Xcode und installieren Sie dann die Befehlszeilentools über Xcode> Einstellungen> Downloads> Komponenten.
Verzeichnis wechseln, konfigurieren und kompilieren:
$ cd xsel-1.2.0
$ ./configure --prefix /usr/local
$ make
make all-am
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -fno-strict-aliasing -Wall -Werror -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused -MT xsel.o -MD -MP -MF ".deps/xsel.Tpo" -c -o xsel.o xsel.c; \
then mv -f ".deps/xsel.Tpo" ".deps/xsel.Po"; else rm -f ".deps/xsel.Tpo"; exit 1; fi
gcc -g -O2 -fno-strict-aliasing -Wall -Werror -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused -o xsel xsel.o -lX11
$ make install
Sie können xsel
mit dem Befehl auch mit MacPorts installieren sudo port install xsel
. In meinem Setup benötigte es auch die Symlinks für die X11-Bibliotheken und Header-Dateien und brauchte viel länger zum Kompilieren.
Ich möchte auch einige Einschränkungen bei der Verwendung von KeePass auf einem Mac mitteilen:
KeePass 2.18 (von http://keepass2.openix.be ) hat Probleme mit HFS +, bei dem zwischen Groß- und Kleinschreibung unterschieden wird. KeePass.exe
wird eingegeben Keepass.exe
(beachten Sie Kleinbuchstaben 'p') in KeePass2.18.app/Contents/MacOS/startkeepass.sh
(so dass es stillschweigend fehlschlägt). Ich musste ein USB-Flash-Laufwerk verwenden, das mit HFS + ohne Berücksichtigung der Groß- und Kleinschreibung formatiert war, und von dort aus KeePass ausführen.
Ich hatte große Probleme, KeePass 2.20.1 unter OS X 10.8 "Mountain Lion" zum Laufen zu bringen. Die Fehlermeldung konnte nicht entfernt werden:
System.ArgumentException: Directory does not exists
Parameter name: path
at System.IO.FileSystemWatcher..ctor (System.String path, System.String filter) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.IO.FileSystemWatcher:.ctor (string,string)
at KeePass.Util.IpcBroadcast.FswStartServer () [0x00000] in <filename unknown>:0
at KeePass.Util.IpcBroadcast.StartServer () [0x00000] in <filename unknown>:0
at KeePass.Forms.MainForm.OnFormLoad (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in <filename unknown>:0
Ich habe endlich den Schuldigen gefunden: In den Versionshinweisen für Version 2.20.1 heißt es ( http://keepass.info/news/n121004_2.20.1.html ):
Änderungen von 2.20 auf 2.20.1: Auf Unix-ähnlichen Systemen speichert KeePass jetzt die meisten seiner temporären Dateien in einem privaten temporären Verzeichnis (vorzugsweise in $XDG_RUNTIME_DIR
).
Laut http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :
$XDG_RUNTIME_DIR
Definiert das Basisverzeichnis, in Bezug auf das benutzerspezifische nicht wesentliche Laufzeitdateien und andere Dateiobjekte (wie Sockets, Named Pipes, ...) gespeichert werden sollen. Das Verzeichnis MUSS dem Benutzer gehören ...
XDG_RUNTIME_DIR
wurde nicht eingestellt. Ich habe es auf ein Verzeichnis gesetzt, das ich besaß, und KeePass hat wie ein Zauber funktioniert:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe