Che cosa potrebbe risolvere un'installazione di KeePass che non verrà copiata o incollata su OS X?

8

KeePass non copia e incolla, per non parlare di autotype.

Ho installato il pacchetto Mac KeePass 2.18 dal link . Non sono riuscito a trovare un pacchetto Mac più recente per KeePass, quindi ho anche sostituito tutti i file di quel pacchetto con quelli del Portable KeePass 2.20.1 (Pacchetto ZIP). Questo era dal link , link alla zip effettiva: link . Quindi sto utilizzando KeePass 2.20.1.

Sto eseguendo la versione Mono 2.10.9.

Utilizzo OS X 10.7.5 su un MacBook Pro.

Non posso credere che il sito di KeePass supporti la compatibilità Mac quando non viene copiata / incollata. Questa è una funzionalità di base che manca. Le ricerche rivelano che altri hanno avuto questo problema dal 2.18, ma non ci sono soluzioni alternative, nessun bug report.

Qualcuno è stato in grado di risolvere questo problema?

    
posta minnow 05.11.2012 - 19:33
fonte

1 risposta

6

La documentazione di KeePass nel collegamento , sebbene non menzioni specificamente OS X, descrive il problema:

Clipboard: On some systems, Mono's clipboard routines don't work properly. In this case, install the xsel package. If xsel is installed, KeePass ≥ 2.20 uses this utility for clipboard operations.

Quindi xsel dovrebbe aiutare. ( xsel è disponibile da MacPorts ( link ). La fonte è disponibile qui: link )

EDIT : ma non è così. Ero curioso quindi ho compilato xsel sul mio Mac. Non ha risolto il problema con copia / incolla (testato con Portable KeePass 2.20.1), come temevo, devo dire. Perché? Perché come indicato qui link xsel è uno strumento che manipola il contenuto degli appunti di X11 applicazioni. X11 fornisce l'interfaccia utente grafica per Linux e UNIX, ma OS X utilizza invece Quartz , così come Mono, come ho capito (vedi link ).

C'è una soluzione alternativa per copiare nome utente e password negli appunti, come spiegato in questa discussione link :

Ureka (sic). Your 2.19 is on the path to copy paste working on the MAC via Mono! Your button to copy the username, and your button to copy the password works now!!!

Il poster sopra si riferisce a questi pulsanti (portatile KeePass 2.20.1 mostrato in esecuzione su Windows (mi dispiace, nessun Mac nelle vicinanze)):

Per copiare il nome utente:

Percopiarelapassword:

Modifica :

Mi piacerebbe condividere come ho compilato xsel nel caso qualcuno ne abbia bisogno su OS X:

  1. Installa X11 dal link (questo si applica solo agli utenti OS X 10.8 "Mountain Lion").

  2. File di intestazione e libreria di collegamenti simbolici da /opt/X11/include/X11 a /usr/local/include/X11 e da /opt/X11/lib a /usr/local/lib (in alternativa puoi collegare un link simbolico 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
    

    Altrimenti si avranno molti errori su file non trovati o simboli mancanti. Ho provato a passare le directory X11 non standard come un'opzione a ./configure senza successo.

  3. Scarica dal link ed estrai, ad esempio, sul tuo desktop.

  4. Sono necessarie gcc più librerie. Installa Xcode e quindi installa gli strumenti da riga di comando da Xcode > Preferences > Downloads > Components.

  5. Cambia directory, configura e compila:

    $ 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
    

Puoi anche installare xsel con MacPorts usando il comando sudo port install xsel . Nella mia configurazione richiedeva anche i collegamenti simbolici per le librerie X11 e i file di intestazione e aveva bisogno di molto più lungo per compilare.

Mi piacerebbe anche condividere alcuni avvertimenti quando usi KeePass su un Mac:

  1. KeePass 2.18 (dal link ) ha problemi con HFS + case-sensitive. KeePass.exe è digitato Keepass.exe (notare la 'p' minuscola) in KeePass2.18.app/Contents/MacOS/startkeepass.sh (in modo che fallisca silenziosamente). Ho dovuto usare una chiavetta USB formattata con HFS + senza distinzione tra maiuscole e minuscole e lanciare KeePass da lì.

  2. Ho avuto un sacco di problemi nel far funzionare KeePass 2.20.1 su OS X 10.8 "Mountain Lion". Non è stato possibile eliminare il messaggio di errore:

    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
    

    Ho finalmente trovato il colpevole: le note di rilascio per lo stato della versione 2.20.1 ( link ):

    Changes from 2.20 to 2.20.1: On Unix-like systems, KeePass now stores most of its temporary files in a private temporary directory (preferably in $XDG_RUNTIME_DIR).

    In base al link :

    $XDG_RUNTIME_DIR definisce la directory di base relativa a quali file runtime non essenziali specifici dell'utente e altri oggetti file (come socket, named pipe, ...) devono essere memorizzati. La directory DEVE essere di proprietà dell'utente ...

    XDG_RUNTIME_DIR non è stato impostato. L'ho impostato su una directory di mia proprietà e KeePass ha funzionato come un incantesimo:

    $ echo $XDG_RUNTIME_DIR
    $ mkdir ~/.mono
    $ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe
    

    
risposta data 09.11.2012 - 12:15
fonte

Leggi altre domande sui tag