La documentation KeePass en http://keepass.info/help/v2/setup.html#mono , bien que ne mentionnant pas spécifiquement OS X, décrit votre problème:
Presse-papier: Sur certains systèmes, les routines du Presse-papiers de Mono ne fonctionnent pas.
correctement. Dans ce cas, installez le package xsel. Si xsel
est
installé, KeePass ≥ 2.20 utilise cet utilitaire pour les opérations dans le presse-papier.
Alors xsel
devrait aider. ( xsel
est disponible chez MacPorts ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). La source est disponible ici: http://www.vergenet.net/~conrad/software/xsel/#download )
MODIFIER : Mais ce n'est pas. J'étais curieux alors j'ai compilé xsel
sur mon Mac. Cela n'a pas résolu le problème du copier / coller (testé avec Portable KeePass 2.20.1), comme je le craignais, je dois dire. Pourquoi? Parce que comme indiqué ici http://www.kfish.org/software/xsel/ xsel
est un outil qui manipule le contenu du presse-papier X11 applications. X11 fournit l'interface utilisateur graphique pour Linux et UNIX, mais OS X utilise Quartz et Mono aussi, comme je l’ai réalisé (voir http://www.mono-project.com/WinForms#About_System.Windows.Forms ).
Il y a une solution de contournement pour copier nom d'utilisateur et mot de passe pour le presse-papiers, comme expliqué dans ce fil http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :
Ureka (sic) . Votre 2.19 est sur le chemin pour copier coller en travaillant sur le MAC via
Mono! Votre bouton pour copier le nom d'utilisateur et votre bouton pour copier le
mot de passe fonctionne maintenant !!!
L’affiche ci-dessus fait référence à ces boutons (KeePass 2.20.1 portable fonctionnant sous Windows (désolé, pas de Mac à proximité)):
Pour copier le nom d'utilisateur:
Pour copier le mot de passe:
MODIFIER :
J'aimerais partager comment j'ai compilé xsel
au cas où quelqu'un en aurait besoin sur OS X:
Installez X11 à partir de http://support.apple.com/kb/HT5293 (ceci ne concerne que les utilisateurs de OS X 10.8 "Mountain Lion").
En-tête Symlink et fichiers de bibliothèque de /opt/X11/include/X11
à /usr/local/include/X11
et de /opt/X11/lib
à /usr/local/lib
(vous pouvez également créer un lien symbolique vers /usr/include
et /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
Sinon, vous aurez beaucoup d'erreurs sur les fichiers non trouvés ou les symboles manquants. J'ai essayé de passer les répertoires X11 non standard en option pour ./configure
sans succès.
Télécharger à partir de http://www.vergenet.net/~conrad/software/xsel/#download et extraire, par exemple, sur votre bureau.
Vous avez besoin gcc
plus des bibliothèques. Installez Xcode, puis installez les outils de ligne de commande de Xcode & gt; Préférences & gt; Téléchargements & gt; Composants.
Changer de répertoire, configurer et compiler:
$ 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
Vous pouvez aussi installer xsel
avec MacPorts en utilisant la commande sudo port install xsel
. Dans ma configuration, il fallait également les liens symboliques pour les bibliothèques X11 et les fichiers d’entête, et beaucoup plus long à compiler.
J'aimerais également vous faire part de certaines réserves lors de l'utilisation de KeePass sur un Mac:
KeePass 2.18 (à partir de http://keepass2.openix.be ) a des problèmes avec HFS + sensible à la casse. KeePass.exe
est dactylographié Keepass.exe
(notez minuscule 'p') dans KeePass2.18.app/Contents/MacOS/startkeepass.sh
(pour qu'il échoue en silence). J'ai dû utiliser un lecteur flash USB formaté avec HFS +, insensible à la casse, et exécuter KeePass à partir de là.
J'ai eu beaucoup de mal à faire fonctionner KeePass 2.20.1 sur OS X 10.8 "Mountain Lion". Il n'a pas pu se débarrasser du message d'erreur:
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
J'ai finalement trouvé le coupable: Les notes de publication de la version 2.20.1 state ( http://keepass.info/news/n121004_2.20.1.html ):
Changements de 2.20 à 2.20.1:
Sur les systèmes de type Unix, KeePass stocke maintenant la plupart de ses fichiers temporaires dans un répertoire temporaire privé (de préférence dans un répertoire temporaire). $XDG_RUNTIME_DIR
).
Selon http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :
$XDG_RUNTIME_DIR
définit le répertoire de base relatif aux fichiers d'exécution non essentiels spécifiques à l'utilisateur et aux autres objets de fichier (tels que les sockets, les canaux nommés, ...) doivent être stockés. Le répertoire DOIT être la propriété de l'utilisateur ...
XDG_RUNTIME_DIR
n'était pas réglé. Je l'ai placé dans un répertoire que je possédais et KeePass a fonctionné comme un charme:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe