La documentación de KeePass en enlace , 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
es
instalado, KeePass ≥ 2.20 usa esta utilidad para las operaciones del portapapeles.
Entonces xsel
debería ayudar. ( xsel
está disponible en MacPorts ( enlace La fuente está disponible aquí: enlace )
EDIT : Pero no es así. 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 temía, debo decir. ¿Por qué? Porque como se indica aquí, enlace xsel
es una herramienta que manipula el contenido del portapapeles de X11 aplicaciones 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 (vea enlace ).
Hay una solución alternativa para copiar el nombre de usuario y la contraseña en el portapapeles, como se explica en este hilo enlace :
Ureka (sic) . Su 2.19 está en la ruta para 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 el nombre de usuario
la contraseña funciona ahora !!!
El póster anterior se refiere a estos botones (se muestra KeePass 2.20.1 portátil ejecutándose en Windows (lo siento, no Mac cerca)):
Para copiar el nombre de usuario:
Paracopiarlacontraseña:
EDIT :
Me gustaría compartir cómo compilé xsel
en caso de que alguien lo necesite en OS X:
-
Instale X11 desde enlace (esto solo se aplica a los usuarios de OS X 10.8 "Mountain Lion").
-
Los archivos de encabezado y biblioteca de Symlink de /opt/X11/include/X11
a /usr/local/include/X11
y de /opt/X11/lib
a /usr/local/lib
(alternativamente, puedes vincular a /usr/include
y /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 los archivos que no se encuentran o los símbolos que faltan. Intenté pasar los directorios X11 no estándar como una opción para ./configure
sin éxito.
-
Descargue desde enlace 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 puedes instalar xsel
con MacPorts usando el comando sudo port install xsel
. En mi configuración, también se requieren los enlaces simbólicos para las bibliotecas X11 y los archivos de encabezado y se necesitó mucho más tiempo para compilar.
También me gustaría compartir algunas advertencias al usar KeePass en una Mac:
-
KeePass 2.18 (de enlace ) tiene problemas con HFS + que distingue entre mayúsculas y minúsculas. KeePass.exe
se escribe Keepass.exe
(note minúscula 'p') en KeePass2.18.app/Contents/MacOS/startkeepass.sh
(para que falle silenciosamente). Tuve que usar una unidad flash USB formateada con HFS + que no distingue mayúsculas de minúsculas y ejecutar KeePass desde allí.
-
Tuve muchos problemas para que KeePass 2.20.1 funcione 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 para el estado de la versión 2.20.1 ( enlace ):
Cambios de 2.20 a 2.20.1:
En sistemas similares a Unix, KeePass ahora almacena la mayoría de sus archivos temporales en un directorio temporal privado (preferiblemente en $XDG_RUNTIME_DIR
).
Según enlace :
$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 se ha establecido. Lo puse en un directorio que tenía y KeePass funcionó a la perfección:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe