2008年5月 9日

[mew-dist 28397] Re: pinentry-program

早間です。

>
> mew-pinentry 以外は保証外なので、mew-pinentry の問題を解決される方がい
> いでしょう。
>
> mew-pinentry が PTY を取れない理由として考えられるのは:
>

> 1) mew-connection-type2 を nil にしている (pipe が使われる)
> 2) gpgsm に --no-tty オプションをどこかで渡している
> 3) gpg-agent に --keep-tty オプションをどこかで渡している
>
> です。
>

該当する情報を確認できませんでした。

> ちなみに、コマンドラインから gpgsm を起動し、mew-pinentry が起動された
> 状態で grep すると、mew-pinentry には PTY が割り当てられているのでしょ
> うか?
>

コマンドラインから実行した場合
PID TTY STAT TIME COMMAND
23350 pts/1 SL+ 0:00 gpgsm --default-key example@xxxxx/jp --sign test.txt
23351 ? S 0:00 /bin/sh /usr/bin/mew-pinentry --display :0.0

mew の時
PID TTY STAT TIME COMMAND
20768 ? S 0:00 /bin/sh /usr/bin/mew-pinentry --display :0.0

コマンドラインから実行した場合は、コマンドを実行した term 上に
Enter passphrase:
と表示され、パスフレーズを入力すると実行できるようです。

mew で実行した場合は
キーボードから何を入力しても応じてくれない。
emacs の終了も出来ない
フリーズしてしまいます。

$ emacs -nw
で実行すると
s/mime サインを実行すると
・draft から summary に切り替わる。
・summary の最下行の次の行の行頭に
Enter passphrase:
と表示される。
・パスフレーズの入力は確認できないが、CR を押しても反応が無い。
・ C-g を押して強制終了させると draft に戻る

前も同じだったようです。

emacs --> mew --> C-s の時は

・ /usr/bin/mew-pinentry はシェルコマンドなのでアーギュメントにある
--display :0.0 は使われていないと思われます。
そのため親が使用できる pty 上に出ると思われます。

・ gpg-agent が
eval `gpg-agent --daemon`
と .xsession で実行しています。
/usr/bin/mew-pinentry が gpg-agent から起動されると tty を持って
いないと思います。
それで、/usr/bin/mew-pinentry は表示する tty が無いと
考えています。

-- 早間 義博

投稿者 xml-rpc : 2008年5月 9日 17:07
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/72948
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。