[mew-dist 28397] Re: pinentry-program
早間
hayama at example.com
2008年 5月 9日 (金) 17:07:09 JST
早間です。
>
> 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 at example.com/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 が無いと
考えています。
-- 早間 義博
Mew-dist メーリングリストの案内