
Я отслеживаю работу веб-сайта и хочу узнать, есть ли способ просматривать изображения через SSH, а не загружать каждый раз веб-сайт.
решение1
Вы не указали, с какой операционной системы вы подключаетесь. Если вы используете *nix, на котором запущен X-сервер, вы можете использовать ssh X-пересылку. Это позволит вам запускать графические приложения на удаленном сервере и отображать их на локальной машине. Например:
ssh -Y user@server
eog pictures/foo.png
Если сервер eog
установлен, это должно привести к открытию изображения и отображению его на экране.
На будущее, задавая вопросы на этом сайте, лучше всего указывать систему, которую вы используете, поскольку правильный ответ часто зависит от нее.
решение2
если вы работаете в OS X, используя iTerm2, вы можете создать imgcat
и отобразить изображение прямо в терминале.
решение3
Я попробовал несколько методов, перечисленных в других ответах на этой странице, и я пробовал их как на Ubuntu 20, так и на MacOS Mojave (моя машина — это мерзость с двойной загрузкой). На обеих системах я обнаружил, что использование флага -X
с ssh
и затем eog
работает, но немного медленно и неуклюже. X-forwarding может быть хорош, если вы просматриваете небольшие каталоги, но может стать совершенно бесполезным, если каталог, в котором вы работаете, содержит большие объемы данных.
Лучший метод, который я видел, это sshfs
. Это очень просто настроить, и я обнаружил, что это очень гибко. По сути, он монтирует удаленную файловую систему как локальный диск, позволяя вам либо просматривать удаленные файлы, либо передавать файлы между вашей локальной средой выполнения и удаленным хостом — гораздо проще и интуитивно понятнее, чем scp
(хотя scp
это полезный навык).
Убунту
Я не уверен насчет предыдущих версий, но 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...
Надеюсь это поможет!
решение4
Это общая боль среди исследователей компьютерного зрения. Я создал небольшой скрипт (https://github.com/nicodjimenez/ImgView), который я использую для обслуживания изображений в каталоге на удаленной машине через python run.py -d path/to/image/dir/
. Затем я использую туннелирование ssh для переадресации локального порта на удаленный порт, на котором я запускаю сервер, а затем я просто просматриваю изображения на своей локальной машине, указывая в своем веб-браузере мой локальный порт, по умолчаниюhttp://0.0.0.0:8000/. Этот подход является наиболее гибким для просмотра изображений по SSH, поскольку вы можете управлять внешним видом дисплея.