Что может исправить установку KeePass, которая не копируется и не вставляется в OS X?

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, но ни обходных путей, ни отчетов об ошибках.

Кто-нибудь смог решить эту проблему?

Вы пробовали KeyPass с Mono 3.0 ? Я не пробовал, но может работать лучше.

Ответы (1)

Документация 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:

  1. Установите X11 с http://support.apple.com/kb/HT5293 (это относится только к пользователям OS X 10.8 «Mountain Lion»).

  2. Файлы заголовков и библиотек символических ссылок от /opt/X11/include/X11to /usr/local/include/X11и from /opt/X11/libto /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.

  3. Загрузите с http://www.vergenet.net/~conrad/software/xsel/#download и распакуйте, например, на рабочий стол.

  4. Вам нужны gccплюсовые библиотеки. Установите Xcode, а затем установите инструменты командной строки из Xcode>Preferences>Downloads>Components.

  5. Измените каталог, настройте и скомпилируйте:

    $ 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:

  1. В KeePass 2.18 (с http://keepass2.openix.be ) есть проблемы с чувствительным к регистру HFS+. KeePass.exeвводится Keepass.exe(обратите внимание на строчную букву «p») в KeePass2.18.app/Contents/MacOS/startkeepass.sh(так что он молча терпит неудачу). Мне пришлось использовать флешку, отформатированную с помощью HFS+ без учета регистра, и запускать оттуда KeePass.

  2. У меня было много проблем с тем, чтобы заставить 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: респект хотя бы за то, что нашел. Но не найден устанавливаемый пакет, и он не скомпилируется для меня. Нужно добавить gcc к моему пути (по крайней мере). Таким образом, решение, которое сработало для меня, - это последняя ссылка .... но позвольте мне пояснить ту часть, которая сработала: установил 2.18 pkg, скопировал 2.20.1 поверх него, затем кнопки (и ТОЛЬКО кнопки, а не горячие клавиши ctrl-C ctrl-V) работают. Кнопки... это то, что я пропустил, когда читал эту ссылку (до того, как задал этот вопрос).
Комментарии редактируются только в течение 5 минут. Очень раздражает. В любом случае: прежде чем напасть на Mac-Police, ярлыки (которые не работают), конечно же, Command-C и Command-V. Глобальный автотип: XDOTOOL не пробовал. У меня нет ярлыков, нет автонабора, но есть КНОПКИ. Достаточно хорошо на данный момент. КНОПКИ! Почему я должен быть разочарован? У меня определенно есть КНОПКИ. Я имею в виду, это КНОПКИ!» (как Том Круз в «Человеке дождя»: у меня есть розовые кусты. )
@minnow: я наконец-то смог протестировать xselKeePass и догадаться ... нет, это не сработало, поэтому на данный момент использование кнопок - единственная возможность в OS X копировать имена пользователей и пароли. Я добавил это в ответ. Я заметил, что Softpedia ссылается на xselисходный код, поэтому я удалил этот бит из своего ответа.
Судя по всему, кнопки существуют и работают в версии 2.24, которую я сейчас использую. Не понял, что кнопки панели инструментов могут делать это иначе, чем контекстное меню. Спасибо, что поделились ответом!
Вероятно, все изменилось с тех пор, как этот ответ был опубликован. У меня запущен XQuartz, и с xselустановленным через MacPorts эти кнопки работают нормально без какой-либо компиляции. Было бы неплохо также заставить работать сочетания клавиш, а еще лучше получить автотип, но пока это может быть несбыточной мечтой.