winpexpect を使用して端末を生成しようとするたびに (例: openssh, ssh
)。私がそうするwinpexpect.winspawn('ssh ...')
と、「標準入力は端末ではないため、疑似端末は割り当てられません。」というメッセージが表示されます。端末を強制的に使用するwinpexpect.winspawn('ssh -t -t ...')
と、ssh クライアントが実際にサーバーに接続しているにもかかわらず、読み取りバッファーに何も取得されません。同じことが他の対話型端末にも当てはまります。ハングするだけで、読み取りバッファーには何も表示されません。ただし、ping
winpexpect などの端末のコマンドの場合は機能します。
実際に機能することがわかったのは、パテの plink.exe を使用すること winpexpect.winspawn('plink ...'
です。これは putty.exe と同じですが、端末エミュレーションは行いません。生の telnet/復号化された ssh データを取得するだけです。ただし、これは実際には理想的なソリューションではありません。
spawner/expect ライブラリを Windows の端末で動作させる方法に本当に行き詰っています! 純粋なJavaだけであるexpectJを使用してみましたが、それにも同じ問題があります。