¿Qué podría arreglar una instalación de KeePass que no copiará ni pegará en OS X?

8

KeePass no copiará ni pegará, y mucho menos hará el autotipo.

He instalado el paquete KeePass 2.18 Mac de http://keepass2.openix.be/ . No pude encontrar un paquete Mac más reciente para KeePass, por lo que también reemplacé todos los archivos de ese paquete con los del Portable KeePass 2.20.1 (Paquete ZIP). Eso fue de la página http://keepass.info/download.html , enlace al archivo zip real: http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip . Así que estoy ejecutando con éxito KeePass 2.20.1.

Estoy ejecutando la versión Mono 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 la funcionalidad básica que falta. Las búsquedas revelan que otros han tenido este problema desde 2.18, pero no hay soluciones, ni informes de errores.

¿Alguien ha podido resolver este problema?

pececillo
fuente
¿Has probado KeyPass con Mono 3.0 ? No lo he probado, pero podría funcionar mejor.
Old Pro

Respuestas:

7

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 xselestá instalado, KeePass ≥ 2.20 usa esta utilidad para las operaciones del portapapeles.

Entonces xseldebería ayudar. ( xselestá 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é xselen 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:

ingrese la descripción de la imagen aquí

Para copiar la contraseña:

ingrese la descripción de la imagen aquí

EDITAR :

Me gustaría compartir cómo compilé xselen caso de que alguien lo necesite en OS X:

  1. Instale X11 desde http://support.apple.com/kb/HT5293 (esto solo se aplica a los usuarios de OS X 10.8 "Mountain Lion").

  2. Cabecera enlace simbólico y archivos de la biblioteca de /opt/X11/include/X11a /usr/local/include/X11y de /opt/X11/libque /usr/local/lib(también, puede enlazar simbólicamente a /usr/includee /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 ./configuresin éxito.

  3. Descargue desde http://www.vergenet.net/~conrad/software/xsel/#download y extraiga, por ejemplo, en su Escritorio.

  4. Necesita gccmás bibliotecas. Instale Xcode y luego instale las herramientas de línea de comandos desde Xcode> Preferencias> Descargas> Componentes.

  5. 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 xselcon 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:

  1. KeePass 2.18 (de http://keepass2.openix.be ) tiene problemas con HFS + sensible a mayúsculas y minúsculas. KeePass.exese 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í.

  2. 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_DIRdefine 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_DIRNo 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
    

ingrese la descripción de la imagen aquí

jaume
fuente
Instalar xsel: felicitaciones por al menos encontrarlo. Pero no se encontró ningún paquete instalable y no se compilará para mí. Necesito agregar gcc a mi camino (al menos). Entonces, la solución que funcionó para mí es el último enlace ... pero déjenme ser claro sobre la parte de eso que funcionó: instalé 2.18 paquetes, copié 2.20.1 sobre él, luego los botones (y SOLO los botones, no el teclas de acceso directo ctrl-C ctrl-V) funcionan. Los botones ... eso es lo que me perdí cuando leí ese enlace (antes de hacer esta pregunta).
Minnow
Comentarios solo editables durante 5 minutos. Muy irritante De todos modos: antes de cualquier ataque mac-police, los atajos (que no funcionan) son, por supuesto, Command-C y Command-V. Tipo automático global: no probé XDOTOOL. No tengo atajos, no escribo automáticamente, pero tengo BOTONES. Lo suficientemente bueno por ahora. ¡BOTONES! ¿Por qué debería estar decepcionado? Definitivamente tengo los BOTONES. Es decir, aquellos que están los botones "(al estilo de Tom Cruise en Rain Man: Tengo los rosales. )
pez pequeño
@minnow: Finalmente pude probar xselcon 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 con el xselcódigo fuente, por lo que he eliminado ese bit de mi respuesta.
jaume
Aparentemente, los botones existen y funcionan en la versión 2.24 que estoy usando actualmente. No me di cuenta de que los botones de la barra de herramientas pueden hacerlo de manera diferente al menú contextual. Gracias por compartir la respuesta!
Mike
1
Es probable que las cosas hayan cambiado desde que se publicó esta respuesta. Tengo XQuartz ejecutándose, y con xselinstalado a través de MacPorts, esos botones funcionan bien sin ningún tipo de compilación realizada por mí mismo. Sería bueno también hacer que los atajos de teclado funcionen, e incluso mejor obtener el autotipo, pero eso puede ser un sueño imposible por ahora.
Dan Jones