回答:
接続元のオペレーティングシステムを指定していません。Xサーバーを実行している* nixを使用している場合、ssh X転送を使用できます。これにより、リモートサーバーでグラフィカルアプリケーションを実行し、ローカルマシンに表示することができます。例えば:
ssh -Y user@server
eog pictures/foo.png
サーバーがeog
インストールされていると仮定すると、これにより画像が開かれ、画面に表示されます。
将来の参考のために、このサイトで質問するときは、正しい答えがシステムに依存することが多いため、使用しているシステムを指定することをお勧めします。
iTerm2を使用してOS Xを使用している場合imgcat
は、ターミナルで画像を直接表示できます。
ssh
していて、かつてリモートマシンにアクセスしていた場合はどうなりますか?
imgcat
、猫の画像がより適切ではないでしょうか?
これは、コンピュータービジョンの研究者に共通する問題点です。私は小さなスクリプト(https://github.com/nicodjimenez/ImgView)を作成しました。これを使用して、リモートマシン上のディレクトリにある画像を提供しますpython run.py -d path/to/image/dir/
。次に、sshトンネリングを使用して、ローカルポートをサーバーを実行しているリモートポートに転送します。次に、デフォルトでhttp://0.0の Webブラウザーをローカルポートに向けることにより、ローカルマシンで画像を表示します。 .0.0:8000 /。このアプローチは、ディスプレイの外観を制御できるため、ssh経由で画像を表示するのに最も柔軟です。
python -m SimpleHTTPServer
。また、ローカルマシンとサーバーがVPN上にある場合は、sshを転送する必要はありません。
python -m http.server
。現在のフォルダー内のすべてのファイルを提供します。
一般に、メディアなどのメディアデータをローカルデスクトップまたはメディアを表示できる場合はssh端末自体に転送できます。
Linuxでは、ssh出力をリダイレクトできます。標準入力(STDINで画像|
を取得する画像ビューアーはありますか?)およびUnix Pipe から読み取ることができる画像ビューアーの助けを借りて、次のようになります。
ssh remote_host "cat /remote/path/to/image" | display
PS:これには、ローカルホスト上のImageMagickの表示プログラムが必要です。引用符で囲まれたコマンドは、リモートホスト上のsshによって実行されます。または、他の画像ビューア(ここではGnome eog画像ビューア):
FIFO=$(mktemp -u);
ssh remote_host "cat /remote/path/to/image" > "$FIFO";
eog "$FIFO" && rm "$FIFO";
フランクトーマスが言ったように写真のパスがある場合は、それらをダウンロードして、アクセスできる場合はscpまたはsftpを介して画像ビューアーで開くことができます。Linuxを使用している場合は、写真をwgetしますが、もちろんシェルで開くことはできません。したがって、純粋にシェルを使用している場合は、ダウンロードするのが最適なオプションです。
sshfs
Linuxを使用している場合は、も使用できます。
sshfs
、あなたは、単にリモートファイルシステムをマウントすることができますし、ファイルがコンピュータ上にあるかのように動作します。何もダウンロードする必要はありません