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

8

KeePass не будет копировать и вставлять, не говоря уже о автотипе.

Я установил пакет Mac KeePass 2.18 с http://keepass2.openix.be/ . Я не смог найти более свежий пакет Mac для KeePass, поэтому я также заменил все файлы этого пакета на файлы из Portable KeePass 2.20.1 (ZIP Package). Это было со страницы http://keepass.info/download.html , ссылка на фактический zip: 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 ? Я не пробовал это, но это могло бы работать лучше.
Старый Pro

Ответы:

7

Документация 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 / # скачать )

РЕДАКТИРОВАТЬ : Но это не так. Мне было любопытно, поэтому я собрал 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 :

Ureka (так в оригинале) . Ваш 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. Symlink заголовок и библиотечные файлы /opt/X11/include/X11к /usr/local/include/X11и от /opt/X11/libк /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> Предпочтения> Загрузки> Компоненты.

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