KeePass no copiará ni pegará, y mucho menos escribirá automáticamente.
He instalado el paquete Mac KeePass 2.18 desde http://keepass2.openix.be/ . No pude encontrar un paquete de Mac más reciente para KeePass, así que también reemplacé todos los archivos de ese paquete con los del KeePass portátil 2.20.1 (paquete ZIP). Eso fue de la página http://keepass.info/download.html , enlace al zip real: http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip . Así que estoy ejecutando con éxito KeePass 2.20.1.
Estoy ejecutando Mono versión 2.10.9.
Estoy ejecutando OS X 10.7.5 en una MacBook Pro.
No puedo creer que el sitio de KeePass promocione la compatibilidad con Mac cuando no copia/pega. Esa es una funcionalidad bastante básica que falta. Las búsquedas revelan que otros han tenido este problema desde 2.18, pero no hay soluciones alternativas ni informes de errores.
¿Alguien ha podido resolver este problema?
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 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, al igual que Mono, como me di cuenta (ver http://www.mono-project.com/WinForms#About_System.Windows.Forms ).
Hay una solución para copiar el nombre de usuario y la contraseña en el portapapeles, como se explica en este hilo http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :
Ureka (sic) . ¡Su 2.19 está en el camino para copiar y pegar trabajando en MAC a través de Mono! ¡Su botón para copiar el nombre de usuario y su botón para copiar la contraseña funcionan ahora!
El cartel de arriba hace referencia a estos botones (se muestra KeePass 2.20.1 portátil 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").
Encabezado de enlace simbólico y archivos de biblioteca de /opt/X11/include/X11
a /usr/local/include/X11
y de /opt/X11/lib
a /usr/local/lib
(alternativamente, puede enlazar 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 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 extráigalo, por ejemplo, a su escritorio.
Necesita gcc
más bibliotecas. Instale Xcode y luego instale las herramientas de la 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+ que distingue entre mayúsculas y minúsculas. KeePass.exe
se escribe Keepass.exe
(observe la 'p' minúscula) 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 entre mayúsculas y minúsculas y ejecutar KeePass desde allí.
Tuve muchos problemas para 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 para el 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 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 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, etc.). El directorio DEBE ser propiedad del usuario...
XDG_RUNTIME_DIR
no se configuró. Lo configuré en un directorio que poseía y KeePass funcionó de maravilla:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe
xsel
con KeePass y adivinar... no, no funcionó, así que, por ahora, usar los botones es la única posibilidad en OS X para copiar nombres de usuario y contraseñas. Lo he agregado a la respuesta. Me di cuenta de que Softpedia se vincula al xsel
código fuente, por lo que eliminé ese bit de mi respuesta.xsel
instalación a través de MacPorts, esos botones funcionan bien sin ningún tipo de compilación realizada por mí mismo. Sería bueno que también funcionaran los atajos de teclado, y aún mejor obtener autotipo, pero eso puede ser un sueño imposible por ahora.
Viejo profesional