La documentación de KeePass en http://keepass.info/help/v2/setup.html#mono , aunque no menciona específicamente OS X, describe su problema:
Portapapeles:
en algunos sistemas, las rutinas del portapapeles de Mono no funcionan correctamente. En este caso, instale el paquete xsel. Si xsel
está instalado, KeePass ≥ 2.20 usa esta utilidad para las operaciones del portapapeles.
Entonces xsel
debería ayudar. ( xsel
está disponible en MacPorts ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). La fuente está disponible aquí: http://www.vergenet.net/~conrad/ software / xsel / # descarga )
EDITAR : Pero no lo hace. Tenía curiosidad, así que compilé xsel
en mi Mac. No resolvió el problema con copiar / pegar (probado con Portable KeePass 2.20.1), como me temía, debo decir. ¿Por qué? Porque como se indica aquí, http://www.kfish.org/software/xsel/ xsel
es una herramienta que manipula el contenido del portapapeles de las aplicaciones X11 . X11 proporciona la interfaz gráfica de usuario para Linux y UNIX, pero OS X usa Quartz en su lugar, y también lo hace Mono, como me di cuenta (consulte http://www.mono-project.com/WinForms#About_System.Windows.Forms ).
Hay una solución alternativa para copiar el nombre de usuario y la contraseña al portapapeles, como se explica en este hilo http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :
Ureka (sic) . ¡Tu 2.19 está en camino de copiar y pegar trabajando en el MAC a través de Mono! ¡Su botón para copiar el nombre de usuario y su botón para copiar la contraseña funciona ahora!
El póster anterior se refiere a estos botones (se muestra KeePass portátil 2.20.1 ejecutándose en Windows (lo siento, no hay Mac cerca)):
Para copiar el nombre de usuario:
Para copiar la contraseña:
EDITAR :
Me gustaría compartir cómo compilé xsel
en caso de que alguien lo necesite en OS X:
Instale X11 desde http://support.apple.com/kb/HT5293 (esto solo se aplica a los usuarios de OS X 10.8 "Mountain Lion").
Cabecera enlace simbólico y archivos de la biblioteca de /opt/X11/include/X11
a /usr/local/include/X11
y de /opt/X11/lib
que /usr/local/lib
(también, puede enlazar simbólicamente a /usr/include
e /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
De lo contrario, obtendrá muchos errores sobre archivos no encontrados o símbolos faltantes. Intenté pasar los directorios X11 no estándar como una opción ./configure
sin éxito.
Descargue desde http://www.vergenet.net/~conrad/software/xsel/#download y extraiga, por ejemplo, en su Escritorio.
Necesita gcc
más bibliotecas. Instale Xcode y luego instale las herramientas de línea de comandos desde Xcode> Preferencias> Descargas> Componentes.
Cambiar directorio, configurar y compilar:
$ 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
También puede instalar xsel
con MacPorts usando el comando sudo port install xsel
. En mi configuración, también requería los enlaces simbólicos para las bibliotecas X11 y los archivos de encabezado y necesitaba mucho más tiempo para compilar.
También me gustaría compartir algunas advertencias al usar KeePass en una Mac:
KeePass 2.18 (de http://keepass2.openix.be ) tiene problemas con HFS + sensible a mayúsculas y minúsculas. KeePass.exe
se escribe Keepass.exe
(observe 'p' en minúscula) KeePass2.18.app/Contents/MacOS/startkeepass.sh
(para que falle silenciosamente). Tuve que usar una unidad flash USB formateada con HFS + que no distingue entre mayúsculas y minúsculas y ejecutar KeePass desde allí.
Tuve muchos problemas para hacer que KeePass 2.20.1 funcionara en OS X 10.8 "Mountain Lion". No pudo deshacerse del mensaje de error:
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
Finalmente encontré al culpable: las notas de la versión del estado de la versión 2.20.1 ( http://keepass.info/news/n121004_2.20.1.html ):
Cambios de 2.20 a 2.20.1: en sistemas tipo Unix, KeePass ahora almacena la mayoría de sus archivos temporales en un directorio temporal privado (preferiblemente en $XDG_RUNTIME_DIR
).
De acuerdo con http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :
$XDG_RUNTIME_DIR
define el directorio base en relación con el cual se deben almacenar los archivos de tiempo de ejecución no esenciales específicos del usuario y otros objetos de archivo (como sockets, canalizaciones con nombre, ...). El directorio DEBE ser propiedad del usuario ...
XDG_RUNTIME_DIR
No fue establecido. Lo configuré en un directorio que poseía y KeePass funcionó a las mil maravillas:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe