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

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

18 ответов

Решение

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

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

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

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

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

https://www.iterm2.com/documentation-images.html

Я пробовал несколько методов, перечисленных в других ответах на этой странице, и я пробовал их как на Ubuntu 20, так и на MacOS Mojave (моя машина - мерзость с двойной загрузкой). В обеих системах я обнаружил, что использование -X флаг с ssh а потом eogработает, но немного медленно и неуклюже. X-пересылка может быть хорошей, если вы просматриваете небольшие каталоги, но может стать совершенно непригодной для использования, если каталог, в котором вы работаете, имеет большие объемы данных.

Лучший метод, который я видел, это sshfs. Это несложно настроить, и я обнаружил, что он очень гибкий. По сути, он монтирует удаленную файловую систему как локальный диск, позволяя вам либо просматривать удаленные файлы, либо передавать файлы между вашей локальной средой выполнения и удаленным хостом - намного проще и интуитивно понятнее, чем scp (хотя scp это полезный навык).

Ubuntu

Я не уверен насчет предыдущих версий, но Ubuntu 20.04 шла с sshfs. Если в вашей версии Ubuntu его нет, вы можете установить его с помощью

sudo apt install sshfs

Для его использования вам понадобится пустой каталог. У меня есть мой в моем домашнем каталоге, и я назвал его sc. Чтобы настроить его, запустите команду:

sshfs -o follow_symlinks <user>@<server address>:/~/ sc

Вуаля! Когда вы используете проводник или терминал для открытия sc вы увидите смонтированный удаленный диск.

MacOS

Шаги почти такие же, как для Linux/Ubuntu. Разница в том, что в MacOS нет sshfs установлен, и sshfsтакже требует наличия некоторых зависимостей, которых также нет в MacOS. Итак, сначала мы устанавливаем эти зависимости с помощью:

brew install osxfuse

Теперь мы можем установить sshfs с участием:

brew install sshfs

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

sshfs -o follow_symlinks <user>@<server address>:/~/ sc

Когда вы открываете sc с вашим любимым файловым проводником (например, Finder в MacOS) вы найдете там удаленный диск, вероятно, с именем OSXFUSE Volume 0...

Надеюсь это поможет!

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

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

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

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

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

http://liftoffsoftware.com/Products/GateOneвведите описание здесь

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

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

sftp://user@ip:port/

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

Итак, что сработало для меня, используя Mac в качестве моей локальной машины и AWS EC2 в качестве моего сервера (ОС Ubuntu), было следующим:

  • Установите приложение xQuartz с открытым исходным кодом на свой Mac, вы можете найти его здесь.
  • Запустите приложение xQuartz. Это откроет окно терминала.
  • Подключитесь к вашему серверу с помощью пересылки X11: ssh -Y user@server или же ssh -X user@server
  • Перейдите в каталог на вашем сервере с картинками
  • Откройте нужное изображение с помощью: xdg-open picture_name. На вашем Mac откроется окно с изображением.

Во-первых, вы можете подключиться к серверу черезssh.

      $ ssh -Y username@remote-server.de

Обратите внимание на опцию. Это важно для всех ssh-соединений, которые вы устанавливаете, пока не дойдете до машины, на которой расположены изображения. Например, если вам нужно сделать два прыжка , чтобы добраться до целевой машины, вам придется использовать-Yпереключатель, который включает надежную пересылку X11.

      $ ssh -Y username@remote-contact-server.de
$ ssh -Y towerpc23

Затем,cdв каталог, где находятся изображения, и выполните:

      $ cat icelandic_white_horse.jpg | display

Через несколько секунд изображение будет передано обратно на ваш локальный компьютер. Обратите внимание, что может быть только одно изображение.displayредактируется одновременно (т. е. пакетное отображение не отображается)

Расширение SSH Visual Studio Code позволяет просматривать удаленные изображения в редакторе. Он кроссплатформенный и не требует локального X-сервера.

Как уже упоминал @Paul, лучший способ, который я нашел, — это использовать встроенный файловый менеджер.

Например, если использовать, можно запустить команду, которая откроет проводник (может запросить пароль), и, при желании, вы можете отключить процесс и закрыть терминал:

      dolphin sftp://user@url & disown && exit

Таким образом, вы сможете просматривать файлы и открывать изображения на локальном компьютере.

Вы можете добавить сетевое хранилище в вашем системном обозревателе:

Добавление сервера

Как установить Eye of Gnome (eog):

  1. Откройте терминал (ярлык: Ctrl + Alt + T)
  2. Введите следующую команду: sudo apt-get update.
  3. Нажмите Enter или Return и введите свой пароль.
  4. Введите следующую команду: sudo apt-get install eog
  5. Введите Y и нажмите Enter или Return.

после установки eog используйте следующую команду:

ssh -Y пользователь@сервер

eog images/yourimage.png

Для большинства ответов с высоким рейтингом требуется переадресация X11 или sftp, в то время как я нашел чистый терминальный метод с Китти и рейнджером. Я использовал Mac OS в качестве рабочего стола и Ubuntu 18.04 в качестве сервера. Просто установите Ranger на Ubuntu и Kitty на MacOS, и эти два требования — единственные. Установка и использование следующие:

Mac SSH для Ubuntu 18.04

В Ubuntu

  • Установить рейнджерpip install ranger-fm(рейнджер установлен по адресу~/.local/bin/ranger)
  • Отредактируйте файл конфигурации рейнджера (~/.config/ranger/rc.conf)
      set preview_images true
set preview_images_method kitty

На Mac

  • Установить Киттиbrew install kitty
  • В терминале Kitty подключите SSH к Ubuntu с помощьюkitty +kitten ssh <HOST>
  • Бегатьrangerдля предварительного просмотра изображений

(Скопировано отсюда )

Если вы используете Windows/Linux в качестве рабочего стола, Kitty также можно установить в ОС вашего настольного компьютера.

РЕДАКТИРОВАТЬ: Windows требует поддержки WSL2 .

  • Шаг 1:ssh -Y user@server
    • Это активирует X11 через ssh, и тогда ваше локальное приложение, например XQuatz для MacOS, сможет отображать изображения с сервера.
  • Шаг 2. На сервере, еслиfehилиeogдает тебеcommand not found. ImageMagick — еще один простой в использовании инструмент отображения.
    • sudo apt install imagemagick
    • display xx.png

Если у вас есть путь к изображениям, который вы можете, как сказал Фрэнк Томас, то вы можете загрузить их и открыть в программе просмотра изображений через scp или, возможно, через sftp, если у вас есть доступ. Если вы используете linux, тогда сделайте wget на картинках, но, конечно, вы не можете открыть их в оболочке, поэтому их загрузка - ваш лучший вариант, если вы говорите только о оболочке.

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

Другие вопросы по тегам