xwdからImageMagickへの変換のためのパイプラインが切り取られたイメージを生成します。

xwdからImageMagickへの変換のためのパイプラインが切り取られたイメージを生成します。

リモートホストのスクリーンショットを撮り(使用xwd)、これをpngに変換したい(使用convert)。無人ワンライナーが必要なので、次のようにします。

sshpass -p THE_PASSWORD ssh [email protected] xwd -display :0 -root | convert xwd:- output.png

問題は、結果のPNGファイルが切り捨てられ、画面の上部のみが表示されることです。 2つのステップでプロセスを実行すると機能します。

sshpass -p THE_PASSWORD ssh [email protected] xwd -display :0 -root > output.xwd
convert output.xwd output.png

ただし、1つのコマンドでこれを行う必要があります。

convert私はこれがリモートコマンドからデータが受信される速度に関連していると思いますxwd。使ってみました。stdbuf ここで述べたようにバッファサイズを増やしてみますが、あまり効果がないようです。

ImageMagick 6.7.8.9-15を使用しています。

ベストアンサー1

1つのコマンドで実行する必要があります

「コマンド」が単一のシェル式を意味する場合は、次のように連結できます&&

sshpass -p THE_PASSWORD ssh [email protected] xwd -display :0 -root > output.xwd && convert output.xwd output.png

または、これがうまくいかない場合は、次のものを使用できます。プロセスの交換:

sshpass -p THE_PASSWORD ssh [email protected] convert <(xwd -display :0 -root) output.png

おすすめ記事