Apa yang mungkin memperbaiki instalasi KeePass yang tidak akan menyalin atau menempel pada OS X?

8

KeePass tidak akan menyalin dan menempel, apalagi melakukan autotype.

Saya telah menginstal paket Mac KeePass 2.18 dari http://keepass2.openix.be/ . Saya tidak dapat menemukan paket Mac yang lebih baru untuk KeePass, jadi saya juga mengganti semua file paket itu dengan yang dari Portable KeePass 2.20.1 (Paket ZIP). Itu dari halaman http://keepass.info/download.html , tautan ke zip aktual: http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip . Jadi saya berhasil menjalankan KeePass 2.20.1.

Saya menjalankan Mono versi 2.10.9.

Saya menjalankan OS X 10.7.5 pada MacBook Pro.

Saya tidak percaya bahwa situs KeePass memuji kompatibilitas Mac ketika itu tidak akan menyalin / menempel. Itu fungsionalitas inti yang cukup untuk hilang. Pencarian mengungkapkan bahwa orang lain memiliki masalah ini sejak 2.18, tetapi tidak ada solusi, tidak ada laporan bug.

Adakah yang bisa menyelesaikan masalah ini?

ikan kecil
sumber
Sudahkah Anda mencoba KeyPass dengan Mono 3.0 ? Saya belum mencobanya tetapi mungkin lebih baik.
Old Pro

Jawaban:

7

Dokumentasi KeePass di http://keepass.info/help/v2/setup.html#mono , meskipun tidak secara khusus menyebutkan OS X, menjelaskan masalah Anda:

Clipboard: Pada beberapa sistem, rutinitas clipboard Mono tidak berfungsi dengan baik. Dalam hal ini, instal paket xsel. Jika xseldiinstal, KeePass ≥ 2.20 menggunakan utilitas ini untuk operasi clipboard.

Jadi xselseharusnya membantu. ( xseltersedia dari MacPorts ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). Sumber tersedia di sini: http://www.vergenet.net/~conrad/ software / xsel / # unduh )

EDIT : Tapi tidak. Saya penasaran jadi saya kompilasi xseldi Mac saya. Itu tidak menyelesaikan masalah dengan copy / paste (diuji dengan Portable KeePass 2.20.1), seperti yang saya khawatirkan, saya harus katakan. Mengapa? Karena seperti yang dinyatakan di sini http://www.kfish.org/software/xsel/ xsel adalah alat yang memanipulasi konten clipboard dari aplikasi X11 . X11 menyediakan antarmuka pengguna grafis untuk Linux dan UNIX, tetapi OS X menggunakan Quartz sebagai gantinya, dan begitu juga Mono, seperti yang saya sadari (lihat http://www.mono-project.com/WinForms#About_System.Windows.Forms ).

Ada solusi untuk menyalin nama pengguna dan kata sandi ke papan klip, seperti dijelaskan di utas ini http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :

Ureka (sic) . 2.19 Anda berada di jalur untuk menyalin tempel yang bekerja pada MAC melalui Mono! Tombol Anda untuk menyalin nama pengguna, dan tombol Anda untuk menyalin kata sandi berfungsi sekarang !!!

Poster di atas mengacu pada tombol-tombol ini (KeePass 2.20.1 portabel ditampilkan berjalan pada Windows (maaf, tidak ada Mac di dekatnya)):

Untuk menyalin nama pengguna:

masukkan deskripsi gambar di sini

Untuk menyalin kata sandi:

masukkan deskripsi gambar di sini

EDIT :

Saya ingin membagikan bagaimana saya mengkompilasi xseljika seseorang membutuhkannya di OS X:

  1. Instal X11 dari http://support.apple.com/kb/HT5293 (ini hanya berlaku untuk pengguna OS X 10.8 "Mountain Lion").

  2. File header dan pustaka symlink dari /opt/X11/include/X11ke /usr/local/include/X11dan dari /opt/X11/libke /usr/local/lib(atau Anda dapat symlink ke /usr/includedan /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
    

    Kalau tidak, Anda akan mendapatkan banyak kesalahan tentang file yang tidak ditemukan atau simbol yang hilang. Saya mencoba melewati direktori X11 non-standar sebagai opsi untuk ./configuretidak berhasil.

  3. Unduh dari http://www.vergenet.net/~conrad/software/xsel/#download dan ekstrak, misalnya, ke Desktop Anda.

  4. Anda membutuhkan gccperpustakaan plus. Instal Xcode dan kemudian instal alat-alat baris perintah dari Xcode> Preferensi> Unduhan> Komponen.

  5. Ubah direktori, konfigurasikan dan kompilasi:

    $ 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
    

Anda juga dapat menginstal xseldengan MacPorts menggunakan perintah sudo port install xsel. Dalam pengaturan saya juga diperlukan symlink untuk pustaka X11 dan file header dan perlu waktu lebih lama untuk dikompilasi.

Saya juga ingin berbagi beberapa peringatan ketika menggunakan KeePass di Mac:

  1. KeePass 2.18 (dari http://keepass2.openix.be ) memiliki masalah dengan HFS + case-sensitive. KeePass.exediketik Keepass.exe(perhatikan huruf kecil 'p') di KeePass2.18.app/Contents/MacOS/startkeepass.sh(sehingga gagal diam-diam). Saya harus menggunakan USB flash drive yang diformat dengan HFS + case-insensitive dan menjalankan KeePass dari sana.

  2. Saya memiliki banyak kesulitan untuk mendapatkan KeePass 2.20.1 untuk bekerja pada OS X 10.8 "Mountain Lion". Itu tidak bisa menghilangkan pesan kesalahan:

    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
    

    Saya akhirnya menemukan pelakunya: Catatan rilis untuk negara versi 2.20.1 ( http://keepass.info/news/n121004_2.20.1.html ):

    Perubahan dari 2.20 ke 2.20.1: Pada sistem mirip Unix, KeePass sekarang menyimpan sebagian besar file sementara di direktori sementara privat (lebih disukai di $XDG_RUNTIME_DIR).

    Menurut http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :

    $XDG_RUNTIME_DIRmendefinisikan direktori dasar relatif dimana file runtime non-esensial khusus pengguna dan objek file lainnya (seperti soket, pipa bernama, ...) harus disimpan. Direktori HARUS dimiliki oleh pengguna ...

    XDG_RUNTIME_DIRtidak disetel. Saya mengaturnya ke direktori yang saya miliki dan KeePass bekerja seperti pesona:

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

masukkan deskripsi gambar di sini

Jaume
sumber
Menginstal xsel: pujian untuk setidaknya menemukannya. Tetapi tidak ditemukan pkg yang dapat diinstal dan tidak dapat dikompilasi untuk saya. Perlu menambahkan gcc ke jalur saya (setidaknya). Jadi solusi yang bekerja untuk saya adalah tautan terakhir .... tapi izinkan saya menjelaskan bagian yang berhasil: memasang 2,18 pkg, menyalin 2.20.1 di atasnya, lalu tombol (dan HANYA tombol, bukan tombol tombol pintas ctrl-C ctrl-V) berfungsi. Tombol ... itulah yang saya lewatkan ketika saya membaca tautan itu (sebelum saya menanyakan pertanyaan ini).
ikan kecil
Komentar hanya dapat diedit selama 5 menit. Sangat menjengkelkan. Bagaimanapun: sebelum mac-police menerkam, jalan pintas (yang tidak berfungsi) tentu saja Command-C dan Command-V. Tipe otomatis global: Saya tidak mencoba XDOTOOL. Saya tidak memiliki pintasan, tidak ada tipe otomatis, tetapi saya memiliki TOMBOL. Cukup bagus untuk saat ini. TOMBOL! Mengapa saya harus kecewa? A-Aku pasti punya TOMBOL. Maksudku, itu adalah TOMBOL! "(A la Tom Cruise dalam Rain Man: Aku dapat bunga mawar. )
ikan kecil
@minnow: Akhirnya saya bisa menguji xseldengan KeePass dan tebak ... tidak, itu tidak berfungsi, jadi, untuk saat ini, menggunakan tombol adalah satu-satunya kemungkinan pada OS X untuk menyalin nama pengguna dan kata sandi. Saya telah menambahkannya ke jawabannya. Saya perhatikan bahwa Softpedia menautkan ke xselkode sumber, jadi saya telah menghapus bit itu dari jawaban saya.
jaume
Rupanya tombol-tombol itu ada dan berfungsi dalam versi 2.24 yang saat ini saya gunakan. Tidak menyadari bahwa tombol bilah alat dapat melakukannya secara berbeda dari menu konteks. Terima kasih telah membagikan jawabannya!
Mike
1
Banyak hal telah berubah sejak jawaban ini diposting. Saya menjalankan XQuartz, dan dengan xseldiinstal melalui MacPorts, tombol-tombol itu berfungsi dengan baik tanpa jenis kompilasi yang dilakukan sendiri. Akan menyenangkan juga untuk membuat pintasan keyboard berfungsi, dan bahkan lebih baik untuk mendapatkan autotype, tapi itu mungkin mimpi pipa untuk saat ini.
Dan Jones