OS Xについては特に言及していませんが、http: //keepass.info/help/v2/setup.html#monoのKeePassのドキュメントに問題が説明されています。
クリップボード:
一部のシステムでは、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: xsel
//www.kfish.org/software/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は、Mono経由でMACで動作するコピーペーストのパスにあります!ユーザー名をコピーするボタンとパスワードをコピーするボタンが機能するようになりました!!!
上記のポスターは、次のボタンについて言及しています(Windowsで実行されているポータブルKeePass 2.20.1(申し訳ありませんが、近くにMacはありません))。
ユーザー名をコピーする場合:
パスワードをコピーする場合:
編集:
xsel
OS Xで誰かがそれを必要とする場合に備えて、私がコンパイルした方法を共有したいと思います。
http://support.apple.com/kb/HT5293からX11をインストールします(これはOS X 10.8「Mountain Lion」ユーザーにのみ適用されます)。
以下からのシンボリックリンクのヘッダーファイルとライブラリファイル/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
成功しませんでした。
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ライブラリとヘッダーファイルのシンボリックリンクも必要であり、コンパイルにははるかに長い時間が必要でした。
MacでKeePassを使用する際の注意事項もいくつか紹介します。
KeePass 2.18(http://keepass2.openix.beから)は、大文字と小文字を区別するHFS +に問題があります。KeePass.exe
入力されますKeepass.exe
(小文字の 'p'に注意してください)KeePass2.18.app/Contents/MacOS/startkeepass.sh
(それが黙って失敗するように)。大文字と小文字を区別しないHFS +でフォーマットされたUSBフラッシュドライブを使用し、そこからKeePassを実行する必要がありました。
OS X 10.8「Mountain Lion」でKeePass 2.20.1を動作させるのに多くの問題がありました。それはエラーメッセージを取り除くことができませんでした:
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