Dokumentacja KeePass w http://keepass.info/help/v2/setup.html#mono , chociaż nie wspominając konkretnie o OS X, opisuje Twój problem:
Schowek: W niektórych systemach procedury schowka Mono nie działają
prawidłowo. W takim przypadku zainstaluj pakiet xsel. Jeśli xsel
jest
zainstalowany, KeePass ≥ 2.20 używa tego narzędzia do operacji schowka.
Więc xsel
powinno pomóc. ( xsel
jest dostępny z MacPorts ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). Źródło jest dostępne tutaj: http://www.vergenet.net/~conrad/software/xsel/#download )
EDYTOWAĆ : Ale tak nie jest. Byłem ciekawy, więc się skompilowałem xsel
na moim Macu. Nie rozwiązało to problemu z kopiowaniem / wklejaniem (testowane z Portable KeePass 2.20.1), jak się obawiałem, muszę powiedzieć. Czemu? Ponieważ tak jak tutaj powiedziano http://www.kfish.org/software/xsel/ xsel
to narzędzie, które manipuluje zawartością schowka X11 Aplikacje. X11 zapewnia graficzny interfejs użytkownika dla systemów Linux i UNIX, ale używa OS X Kwarc zamiast tego, podobnie jak Mono, tak jak sobie uświadomiłem (patrz http://www.mono-project.com/WinForms#About_System.Windows.Forms ).
Istnieje obejście tego problemu biurowy nazwa użytkownika i hasło do schowka, jak wyjaśniono w tym wątku http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :
Ureka (sic) . Twój 2.19 jest na ścieżce do kopiowania pasty pracującej na MAC przez
Mono! Twój przycisk, aby skopiować nazwę użytkownika i przycisk, aby skopiować
hasło działa teraz !!!
Powyższy plakat odnosi się do tych przycisków (pokazany przenośny KeePass 2.20.1 uruchomiony w systemie Windows (przepraszam, w pobliżu nie ma komputera Mac)):
Do kopiowania nazwy użytkownika:
Do kopiowania hasła:
EDYTOWAĆ :
Chciałbym się podzielić tym, jak się skompilowałem xsel
w przypadku, gdy ktoś potrzebuje tego na OS X:
Zainstaluj X11 z http://support.apple.com/kb/HT5293 (dotyczy to tylko użytkowników systemu Mountain Lion z OS X 10.8).
Nagłówek symlink i pliki bibliotek z /opt/X11/include/X11
do /usr/local/include/X11
i od /opt/X11/lib
do /usr/local/lib
(alternatywnie możesz utworzyć dowiązanie symboliczne do /usr/include
i /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
W przeciwnym razie pojawi się wiele błędów dotyczących nieodnalezionych plików lub brakujących symboli. Próbowałem przekazać niestandardowe katalogi X11 jako opcję ./configure
bezskutecznie.
Ściągnięte z http://www.vergenet.net/~conrad/software/xsel/#download i wypakuj na przykład na swój pulpit.
Potrzebujesz gcc
plus biblioteki. Zainstaluj Xcode, a następnie zainstaluj narzędzia wiersza poleceń z Xcode & Preferences & gt; Downloads & gt; Components.
Zmień katalog, skonfiguruj i skompiluj:
$ 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
Możesz także zainstalować xsel
z MacPorts za pomocą polecenia sudo port install xsel
. W mojej konfiguracji wymagał także dowiązań symbolicznych dla bibliotek X11 i plików nagłówkowych i był potrzebny dużo dłużej się kompilować.
Chciałbym również podzielić się pewnymi zastrzeżeniami podczas korzystania z KeePass na komputerze Mac:
KeePass 2.18 (z http://keepass2.openix.be ) ma problem z rozróżnianiem wielkości liter w HFS +. KeePass.exe
jest wpisane Keepass.exe
(zauważ małą literę „p”) w KeePass2.18.app/Contents/MacOS/startkeepass.sh
(tak, że po cichu zawiedzie). Musiałem użyć pamięci flash USB sformatowanej z rozróżnianiem wielkości liter HFS + i stamtąd uruchomić KeePass.
Miałem wiele problemów z uzyskaniem KeePass 2.20.1 do pracy na OS X 10.8 „Mountain Lion”. Nie mógł pozbyć się komunikatu o błędzie:
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
W końcu znalazłem sprawcę: uwagi do wydania w wersji 2.20.1 ( http://keepass.info/news/n121004_2.20.1.html ):
Zmiany z 2.20 na 2.20.1:
W systemach uniksowych KeePass przechowuje teraz większość swoich plików tymczasowych w prywatnym katalogu tymczasowym (najlepiej w $XDG_RUNTIME_DIR
).
Według http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :
$XDG_RUNTIME_DIR
definiuje katalog podstawowy, w stosunku do którego należy przechowywać specyficzne dla użytkownika nieistotne pliki wykonawcze i inne obiekty plików (takie jak gniazda, nazwane potoki, ...). Katalog MUSI być własnością użytkownika ...
XDG_RUNTIME_DIR
nie został ustawiony. Ustawiłem go na katalog, który posiadałem, a KeePass działał jak urok:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe