KeePass не копирует и не вставляет, не говоря уже об автоматическом вводе.
Я установил пакет KeePass 2.18 Mac с http://keepass2.openix.be/ . Я не смог найти более свежий пакет Mac для KeePass, поэтому я также заменил все файлы этого пакета файлами из Portable KeePass 2.20.1 (ZIP-пакет). Это было со страницы http://keepass.info/download.html , ссылка на фактический почтовый индекс: http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip . Итак, я успешно запускаю KeePass 2.20.1.
Я использую Mono версии 2.10.9.
Я использую OS X 10.7.5 на MacBook Pro.
Я не могу поверить, что сайт KeePass рекламирует совместимость с Mac, когда он не копирует/вставляет. Это довольно важная функциональность, которой не хватает. Поиски показывают, что у других была эта проблема с версии 2.18, но ни обходных путей, ни отчетов об ошибках.
Кто-нибудь смог решить эту проблему?
Документация KeePass в http://keepass.info/help/v2/setup.html#mono , хотя и не упоминает конкретно OS X, описывает вашу проблему:
Буфер обмена: в некоторых системах процедуры буфера обмена Mono не работают должным образом. В этом случае установите пакет xsel. Если
xsel
установлена, KeePass ≥ 2.20 использует эту утилиту для операций с буфером обмена.
Так xsel
должно помочь. ( xsel
доступно на MacPorts ( http://www.macports.org/ports.php?by=all&substr=&page=316&pagesize=50 ). Исходный код доступен здесь: http://www.vergenet.net/~conrad/ программное обеспечение/xsel/#download )
РЕДАКТИРОВАТЬ : Но это не так. Мне было любопытно, поэтому я скомпилировал xsel
на своем Mac. Это не решило проблему с копированием/вставкой (проверено с помощью Portable KeePass 2.20.1), как я и опасался, должен сказать. Почему? Потому что, как указано здесь, http://www.kfish.org/software/xsel/ xsel
— это инструмент, который манипулирует содержимым буфера обмена приложений X11 . X11 предоставляет графический пользовательский интерфейс для Linux и UNIX, но вместо него OS X использует Quartz , как и Mono, как я понял (см. http://www.mono-project.com/WinForms#About_System.Windows.Forms ).
Существует обходной путь для копирования имени пользователя и пароля в буфер обмена, как описано в этой теме http://sourceforge.net/projects/keepass/forums/forum/329221/topic/5106260 :
Урека (так в оригинале) . Ваш 2.19 находится на пути к копипасте, работающему на MAC через Mono! Ваша кнопка для копирования имени пользователя и ваша кнопка для копирования пароля теперь работают!!!
Плакат выше относится к этим кнопкам (показан портативный KeePass 2.20.1, работающий в Windows (извините, поблизости нет Mac)):
Для копирования имени пользователя:
Для копирования пароля:
РЕДАКТИРОВАТЬ :
Я хотел бы поделиться тем, как я скомпилировал xsel
, если кому-то это понадобится в OS X:
Установите X11 с http://support.apple.com/kb/HT5293 (это относится только к пользователям OS X 10.8 «Mountain Lion»).
Файлы заголовков и библиотек символических ссылок от /opt/X11/include/X11
to /usr/local/include/X11
и from /opt/X11/lib
to /usr/local/lib
(в качестве альтернативы вы можете сделать символическую ссылку на /usr/include
и /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
В противном случае вы получите много ошибок о не найденных файлах или отсутствующих символах. Я безуспешно пытался передать нестандартные каталоги X11 в качестве опции ./configure
.
Загрузите с http://www.vergenet.net/~conrad/software/xsel/#download и распакуйте, например, на рабочий стол.
Вам нужны gcc
плюсовые библиотеки. Установите Xcode, а затем установите инструменты командной строки из Xcode>Preferences>Downloads>Components.
Измените каталог, настройте и скомпилируйте:
$ 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
Вы также можете установить xsel
с помощью MacPorts, используя команду sudo port install xsel
. В моей настройке также требовались символические ссылки для библиотек X11 и файлы заголовков, и для компиляции требовалось гораздо больше времени.
Я также хотел бы поделиться некоторыми предостережениями при использовании KeePass на Mac:
В KeePass 2.18 (с http://keepass2.openix.be ) есть проблемы с чувствительным к регистру HFS+. KeePass.exe
вводится Keepass.exe
(обратите внимание на строчную букву «p») в KeePass2.18.app/Contents/MacOS/startkeepass.sh
(так что он молча терпит неудачу). Мне пришлось использовать флешку, отформатированную с помощью HFS+ без учета регистра, и запускать оттуда KeePass.
У меня было много проблем с тем, чтобы заставить KeePass 2.20.1 работать на OS X 10.8 «Mountain Lion». Не удалось избавиться от сообщения об ошибке:
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
Наконец-то я нашел виновника: в примечаниях к выпуску версии 2.20.1 указано ( http://keepass.info/news/n121004_2.20.1.html ):
Изменения с 2.20 на 2.20.1: В Unix-подобных системах KeePass теперь хранит большинство своих временных файлов в частном временном каталоге (предпочтительно в
$XDG_RUNTIME_DIR
).
Согласно http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html :
$XDG_RUNTIME_DIR
определяет базовый каталог, относительно которого должны храниться специфические для пользователя несущественные файлы среды выполнения и другие файловые объекты (такие как сокеты, именованные каналы и т. д.). Каталог ДОЛЖЕН принадлежать пользователю...
XDG_RUNTIME_DIR
не был установлен. Я установил его в каталог, которым я владел, и KeePass работал как шарм:
$ echo $XDG_RUNTIME_DIR
$ mkdir ~/.mono
$ export XDG_RUNTIME_DIR=~/.mono/; mono --desktop /Volumes/USB_Flash_Drive/KeePass-2.20.1/KeePass.exe
xsel
KeePass и догадаться ... нет, это не сработало, поэтому на данный момент использование кнопок - единственная возможность в OS X копировать имена пользователей и пароли. Я добавил это в ответ. Я заметил, что Softpedia ссылается на xsel
исходный код, поэтому я удалил этот бит из своего ответа.xsel
установленным через MacPorts эти кнопки работают нормально без какой-либо компиляции. Было бы неплохо также заставить работать сочетания клавиш, а еще лучше получить автотип, но пока это может быть несбыточной мечтой.
Старый профессионал