ssh経由で写真を表示するにはどうすればよいですか


23

私はウェブサイトを監視していますが、毎回ウェブサイトをロードするのではなく、ssh経由で写真を表示できる方法があるかどうかを知りたいです。


あなたはサーバーにsshアクセスしていて、imagesディレクトリを見ていますか?
フランクトーマス

はい、何か新しいものが追加されたときに通知するようにscritpを設定します。今、私はそれを表示し、ssh経由で削除または承認できるようにしたいと思います。
mrhobbeys

回答:


32

接続元のオペレーティングシステムを指定していません。Xサーバーを実行している* nixを使用している場合、ssh X転送を使用できます。これにより、リモートサーバーでグラフィカルアプリケーションを実行し、ローカルマシンに表示することができます。例えば:

ssh -Y user@server
eog pictures/foo.png

サーバーがeogインストールされていると仮定すると、これにより画像が開かれ、画面に表示されます。

将来の参考のために、このサイトで質問するときは、正しい答えがシステムに依存することが多いため、使用しているシステムを指定することをお勧めします。


今日はWindowsでパテとxmingを使用しているので、これを試してみます。
mrhobbeys

これはうまく機能します。
mrhobbeys

5

iTerm2を使用してOS Xを使用している場合imgcatは、ターミナルで画像を直接表示できます。

https://www.iterm2.com/documentation-images.htmlここに画像の説明を入力してください


iterm 2でosxを使用sshしていて、かつてリモートマシンにアクセスしていた場合はどうなりますか?
アンドリューハント

1
サーバーにimgcatスクリプトがあれば機能します。
ダイノフ

2
imgcat、猫の画像がより適切ではないでしょうか?
いとこコカイン

サーバーはOS Xである必要がありますか?サーバーがUbuntuでクライアントがMacの場合、正確にはどうすればよいですか?
Sridhar Sarnobat

サーバーに要件はありません。端末からsshを使用している場合、サーバーにはimgcatが必要です。基本的に、imgcatは画像をiTerm2が理解できるものに変換します。
ダイノフ

3

これは、コンピュータービジョンの研究者に共通する問題点です。私は小さなスクリプト(https://github.com/nicodjimenez/ImgView)を作成しましたこれを使用して、リモートマシン上のディレクトリにある画像を提供しますpython run.py -d path/to/image/dir/。次に、sshトンネリングを使用して、ローカルポートをサーバーを実行しているリモートポートに転送します。次に、デフォルトでhttp://0.0の Webブラウザーをローカルポートに向けることにより、ローカルマシンで画像を表示します。 .0.0:8000 /。このアプローチは、ディスプレイの外観を制御できるため、ssh経由で画像を表示するのに最も柔軟です。


リポジトリがダウンしているように見えますが、これはビルトインWebサーバーでも実現できますpython -m SimpleHTTPServer。また、ローカルマシンとサーバーがVPN上にある場合は、sshを転送する必要はありません。
crizCraig

Python 3の場合:python -m http.server。現在のフォルダー内のすべてのファイルを提供します。
fabian789

2

ほとんどの場合、tiv(または同様のツール)で実行できます。RGB ANSIコードのみを印刷するため、これには特別なターミナルエミュレータは必要ありません。

ここに画像の説明を入力してください

ワイルドカードもサポートしています。


1

一般に、メディアなどのメディアデータをローカルデスクトップまたはメディアを表示できる場合はssh端末自体に転送できます。

  • XWindow転送:リモートホストからディスプレイにデスクトップイメージビューアーアプリケーションをもたらします。
  • sftp:任意のsftpクライアントがローカルデスクトップにメディアを転送し、そこで画像ビューアーを起動できます
  • sshファイルシステム:sftpに少し似ていますが、リモートファイルシステムはローカルにシームレスに統合されているため、ローカルの画像ビューアーを起動できます。
  • またはWebベース:この端末(他の多くの端末と同様)は、それ自体が画像データを表示できます(画像データは「cat」されています!)

http://liftoffsoftware.com/Products/GateOne ここに画像の説明を入力してください


1

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";

0

フランクトーマスが言ったように写真のパスがある場合は、それらをダウンロードして、アクセスできる場合はscpまたはsftpを介して画像ビューアーで開くことができます。Linuxを使用している場合は、写真をwgetしますが、もちろんシェルで開くことはできません。したがって、純粋にシェルを使用している場合は、ダウンロードするのが最適なオプションです。


これは、その時点でブラウザを開いてそれらを表示する方が簡単だからです。
mrhobbeys

画像の名前に同様のパスと命名規則がある場合、スクリプト化してcronjobに変換できるため、セットアップに依存します。
MDMoore313

0

sshfsLinuxを使用している場合は、も使用できます。


またはWindowsの場合はWinSCPを使用します。
フランクトーマス

1
@FrankThomas:まあ、それは私が念頭に置いていたものではありませんでした。ではsshfs、あなたは、単にリモートファイルシステムをマウントすることができますし、ファイルがコンピュータ上にあるかのように動作します。何もダウンロードする必要はありません
...-carlspring

0

私はこの種のことをするためにthunar(ファイルマネージャ、またnautilus他の人と一緒に動作し、おそらく他の人と)を使用します。

アドレスを入力した場合:

sftp://user@ip:port/

経由で接続しssh(オプションでパスワード/パスフレーズを要求します)、ファイルシステムを視覚的に表示し、ビューアーで画像を開くことができます(例:gpicviewまたはeog、しかしeogこの場合は遅いことがわかりました)。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.