O que pode corrigir uma instalação do KeePass que não copia ou cola no OS X?

8

O KeePass não copiará e colará, muito menos fará o autótipo.

Instalei o pacote Mac KeePass 2.18 em http://keepass2.openix.be/ . Não consegui encontrar um pacote Mac mais recente para o KeePass, por isso também substituí todos os arquivos desse pacote pelos do Portable KeePass 2.20.1 (Pacote ZIP). Isso foi encontrado na página http://keepass.info/download.html , link para o zip real: http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip . Então, eu estou executando com sucesso o KeePass 2.20.1.

Estou executando o Mono versão 2.10.9.

Estou executando o OS X 10.7.5 em um MacBook Pro.

Não acredito que o site do KeePass divulga a compatibilidade do Mac quando ele não copia / cola. Essa é uma funcionalidade bastante essencial para estar faltando. Pesquisas revelam que outros têm esse problema desde a 2.18, mas não há soluções alternativas, nem relatórios de erros.

Alguém conseguiu resolver esse problema?

peixinho
fonte
Você já experimentou o KeyPass com o Mono 3.0 ? Eu não tentei, mas pode funcionar melhor.
Old Pro

Respostas:

7

A documentação do KeePass em http://keepass.info/help/v2/setup.html#mono , apesar de não mencionar especificamente o OS X, descreve seu problema:

Área de transferência: Em alguns sistemas, as rotinas da área de transferência do Mono não funcionam corretamente. Nesse caso, instale o pacote xsel. Se xselestiver instalado, o KeePass ≥ 2.20 usa este utilitário para operações da área de transferência.

Então xseldeve ajudar. ( xseldisponível em MacPorts ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). A fonte está disponível aqui: http://www.vergenet.net/~conrad/ software / xsel / # download )

EDIT : Mas não. Fiquei curioso, então compilei xselno meu Mac. Não resolveu o problema com copiar / colar (testado com o Portable KeePass 2.20.1), como eu temia, devo dizer. Por quê? Porque, conforme indicado aqui, http://www.kfish.org/software/xsel/ xsel é uma ferramenta que manipula o conteúdo da área de transferência dos aplicativos X11 . O X11 fornece a interface gráfica do usuário para Linux e UNIX, mas o OS X usa o Quartz , e o Mono, como eu percebi (consulte http://www.mono-project.com/WinForms#About_System.Windows.Forms ).

Existe uma solução alternativa para copiar nome de usuário e senha para a área de transferência, conforme explicado neste tópico http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :

Ureka (sic) . Seu 2.19 está no caminho de copiar e colar trabalhando no MAC via Mono! Seu botão para copiar o nome de usuário e seu botão para copiar a senha funcionam agora !!!

O pôster acima refere-se a estes botões (o KeePass 2.20.1 portátil mostrado em execução no Windows (desculpe, não há Mac por perto)):

Para copiar o nome de usuário:

insira a descrição da imagem aqui

Para copiar a senha:

insira a descrição da imagem aqui

EDIT :

Gostaria de compartilhar como eu compilei xselcaso alguém precise no OS X:

  1. Instale o X11 em http://support.apple.com/kb/HT5293 (isso se aplica apenas aos usuários do OS X 10.8 "Mountain Lion").

  2. Cabeçalho Symlink e arquivos de biblioteca de /opt/X11/include/X11para /usr/local/include/X11e de /opt/X11/liba /usr/local/lib(alternativamente, você pode ligar simbolicamente 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
    

    Caso contrário, você receberá muitos erros sobre arquivos não encontrados ou símbolos ausentes. Tentei passar os diretórios X11 não padrão como uma opção para ./configuresem sucesso.

  3. Faça o download em http://www.vergenet.net/~conrad/software/xsel/#download e extraia, por exemplo, para sua área de trabalho.

  4. Você precisa de gccmais bibliotecas. Instale o Xcode e, em seguida, instale as ferramentas de linha de comando em Xcode> Preferências> Downloads> Componentes.

  5. Mude o diretório, configure e compile:

    $ 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
    

Você também pode instalar xselcom MacPorts usando o comando sudo port install xsel. Na minha configuração, ele também exigiu os links simbólicos para as bibliotecas X11 e os arquivos de cabeçalho e precisou de muito mais tempo para compilar.

Também gostaria de compartilhar algumas ressalvas ao usar o KeePass em um Mac:

  1. O KeePass 2.18 (de http://keepass2.openix.be ) tem problemas com o HFS + que diferencia maiúsculas de minúsculas. KeePass.exeé digitado Keepass.exe(observe 'p' em minúsculas) em KeePass2.18.app/Contents/MacOS/startkeepass.sh(para que falhe silenciosamente). Eu tive que usar uma unidade flash USB formatada com HFS + que não diferencia maiúsculas de minúsculas e executar o KeePass a partir daí.

  2. Eu tive muitos problemas para que o KeePass 2.20.1 funcionasse no OS X 10.8 "Mountain Lion". Não foi possível se livrar da mensagem de erro:

    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 encontrei o culpado: as notas de versão para o estado da versão 2.20.1 ( http://keepass.info/news/n121004_2.20.1.html ):

    Alterações de 2.20 para 2.20.1: Nos sistemas tipo Unix, o KeePass agora armazena a maioria de seus arquivos temporários em um diretório temporário privado (de preferência em $XDG_RUNTIME_DIR).

    De acordo com http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :

    $XDG_RUNTIME_DIRdefine o diretório base em relação ao qual arquivos de tempo de execução não essenciais específicos do usuário e outros objetos de arquivo (como soquetes, pipes nomeados, ...) devem ser armazenados. O diretório DEVE pertencer ao usuário ...

    XDG_RUNTIME_DIRnão foi definido. Eu o configurei para um diretório que eu possuía e o KeePass funcionou como um encanto:

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

insira a descrição da imagem aqui

jaume
fonte
Instalando o xsel: kudos para pelo menos encontrá-lo. Mas nenhum pacote instalável foi encontrado e ele não será compilado para mim. Preciso adicionar o gcc ao meu caminho (pelo menos). Portanto, a solução que funcionou para mim é o último link .... mas deixe-me esclarecer sobre a parte que funcionou: instalei 2,18 pkg, copiei 2.20.1 sobre ele, depois os botões (e SOMENTE os botões, não o teclas de atalho ctrl-C ctrl-V) funcionam. Os botões ... foi o que eu perdi quando li o link (antes de fazer essa pergunta).
minnow
Comentários editáveis ​​apenas por 5 minutos. Muito irritante. Enfim: antes de qualquer mac-police atacar, os atalhos (que não funcionam) são, obviamente, Command-C e Command-V. Tipo automático global: não tentei o XDOTOOL. Não tenho atalhos, não digite automaticamente, mas tenho BOTÕES. Bom o suficiente por enquanto. BOTÕES! Por que eu deveria me decepcionar? Definitivamente tenho os BOTÕES. Quero dizer, esses são os BOTÕES! "(A la Tom Cruise em Rain Man: peguei as roseiras ) .
minnow
@ minnow: finalmente pude testar xselcom o KeePass e adivinhar ... não, não funcionou, então, por enquanto, usar os botões é a única possibilidade no OS X de copiar nomes de usuário e senhas. Eu adicionei à resposta. Percebi que a Softpedia se vincula ao xselcódigo-fonte, então excluí esse bit da minha resposta.
jaume
Aparentemente, os botões existem e funcionam na versão 2.24 que estou usando no momento. Não sabia que os botões da barra de ferramentas podem fazê-lo de maneira diferente do menu de contexto. Obrigado por compartilhar a resposta!
Mike
1
As coisas provavelmente mudaram desde que esta resposta foi publicada. Eu tenho o XQuartz em execução, e com o xselinstalado via MacPorts, esses botões funcionam bem sem nenhum tipo de compilação feita por mim. Seria bom também colocar os atalhos de teclado em funcionamento, e ainda melhor obter o autótipo, mas isso pode ser um sonho por enquanto.
Dan Jones