Как я могу просматривать фотографии через SSH


23

Я наблюдаю за веб-сайтом и хочу знать, есть ли способ, с помощью которого я могу просматривать фотографии через ssh, вместо того, чтобы каждый раз загружать сайт.


Таким образом, у вас есть доступ к серверу SSH и смотрите каталог изображений?
Фрэнк Томас

Да, я настроил сценарий, чтобы предупредить меня, когда что-то новое добавлено. Теперь я хочу иметь возможность просматривать и удалять или утверждать через SSH.
mrhobbeys

Ответы:


32

Вы не сказали, из какой операционной системы вы подключаетесь. Если вы используете * nix с X-сервером, вы можете использовать ssh X forwarding. Это позволит вам запускать графические приложения на удаленном сервере и отображать их на локальном компьютере. Например:

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

Предполагая, что сервер eogустановлен, это должно привести к открытию изображения и его отображению на экране.

Для дальнейшего использования при задании вопросов на этом сайте рекомендуется указать систему, которую вы используете, поскольку от нее часто зависит правильный ответ.


Я сегодня на окнах с замазкой и xming, так что я собираюсь попробовать.
mrhobbeys

Это хорошо работает.
mrhobbeys

5

Если вы работаете в OS X и используете iTerm2, вы можете сделать это imgcatи отобразить изображение прямо в терминале.

https://www.iterm2.com/documentation-images.htmlвведите описание изображения здесь


Что, если вы работаете на OSX с ITERM 2 и привыкли sshк удаленной машине?
Эндрю

1
Это будет работать, если у вас есть скрипт imgcat на сервере.
Дино Фу

2
imgcatне будет ли изображение кота более подходящим?
Кузен Кокаин

Должен ли сервер быть OS X? Что именно я должен делать, если мой сервер - Ubuntu, а мой клиент - Mac?
Шридхар Сарнобат

нет никаких требований к серверу. если вы ssh из терминала, сервер должен иметь imgcat. По сути, imgcat конвертирует изображение в то, что iTerm2 может понять.
Dyno Fu

3

Это общая болевая точка среди исследователей компьютерного зрения. Я создал крошечный скрипт ( https://github.com/nicodjimenez/ImgView ), который я использую для передачи изображений в каталог на удаленной машине через python run.py -d path/to/image/dir/. Затем я использую туннелирование ssh для пересылки локального порта на удаленный порт, на котором я запускаю сервер, а затем я просто просматриваю изображения на своем локальном компьютере, указывая веб-браузер на мой локальный порт, по умолчанию http: //0.0 .0.0: 8000 / . Этот подход является наиболее гибким для просмотра изображений через ssh, поскольку вы можете контролировать внешний вид дисплея.


Похоже, репо не работает, но это также можно сделать с помощью встроенного веб-сервера python -m SimpleHTTPServer. Кроме того, если ваш локальный компьютер и сервер находятся в VPN, нет необходимости в ssh forward.
crizCraig

С питон 3: python -m http.server. Будет обслуживать все файлы в текущей папке.
fabian789

2

tiv (или аналогичные инструменты) следует делать в большинстве случаев. Для этого не требуется никаких специальных эмуляторов терминала, поскольку он печатает только коды RGB ANSI.

введите описание изображения здесь

Также поддерживает подстановочные знаки.


1

Как правило, вы можете передавать мультимедийные данные, например изображения, на локальный рабочий стол или на сам терминал ssh, если они способны отображать мультимедийные данные:

  • Пересылка XWindow: переносит любое приложение для просмотра изображений с удаленного хоста на ваш дисплей
  • sftp: любой sftp-клиент переносит мультимедиа на локальный рабочий стол, где вы можете запустить программу просмотра изображений
  • файловая система ssh: немного похожа на sftp, но удаленная файловая система легко интегрируется локально, поэтому могут запускаться локальные программы просмотра изображений
  • Или через Интернет: этот терминал (как и многие другие) сам по себе способен отображать данные изображения (данные изображения - "кошка"!)

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

Вы также можете использовать sshfs, если вы находитесь под Linux.


или используйте WinSCP, если на Windows.
Фрэнк Томас

1
@FrankThomas: Ну, это не то, что я имел в виду. С sshfsего помощью можно просто смонтировать удаленную файловую систему, и она будет вести себя так, как будто файлы находятся на вашем компьютере. Не нужно ничего скачивать ...
carlspring

0

Я использую thunar(файловый менеджер, также работает nautilusи, возможно, другие), чтобы делать такие вещи.

Если вы введете адрес:

sftp://user@ip:port/

Он подключится через ssh(опционально, запрашивая пароль / фразу-пароль) и визуально отобразит файловую систему, где вы можете открыть изображения с помощью средства просмотра (например, gpicviewили eog, но я обнаружил, eogчто в этом случае это происходит медленно).


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.