Як я можу переглянути зображення через ssh


23

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


ви маєте ssh доступ до сервера та переглядаєте каталог зображень?
— Френк Томас

Так, я налаштовую скрипт, щоб попередити мене, коли щось нове буде додано. Тепер я хочу мати змогу переглянути його та видалити чи затвердити через ssh.
— mrhobbeys

Відповіді:


32

Ви ще не сказали, з якою операційною системою ви підключаєтесь. Якщо ви використовуєте * nix для запуску X-сервера, ви можете використовувати переправлення ssh X. Це дозволить запускати графічні програми на віддаленому сервері та відображати їх на локальній машині. Наприклад:

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.
— Dyno Fu

2
imgcat, чи не було б зображення кішки більш доречним?
— CousinCocaine

Чи повинен сервер бути ОС X? Що саме потрібно робити, якщо мій сервер - Ubuntu, а мій клієнт - Mac?
— Шрідхар Сарнобат

немає ніяких вимог до сервера. якщо ви ssh з терміналу, сервер повинен мати imgcat. в основному, imgcat перетворює зображення в те, що iTerm2 може зрозуміти.
— Dyno Fu

3

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


Схоже, репо не працює, але це також можна зробити за допомогою вбудованого веб-сервера python -m SimpleHTTPServer. Крім того, якщо ваша локальна машина і сервер перебувають на VPN, не потрібно рухатися вперед.
— crizCraig

З пітон 3: python -m http.server. Подавать усі файли в поточній папці.
— fabian789

2

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

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

Також підтримує підстановку.


1

Як правило, ви можете передавати медіа-дані, наприклад зображення, на свій локальний робочий стіл або сам ssh-термінал, якщо вони здатні відображати медіа:

  • Переадресація XWindow: відображає будь-яку програму для перегляду зображень на робочому столі з віддаленого хоста на ваш дисплей
  • sftp: будь-який sftp-клієнт переносить медіа на локальний робочий стіл, де ви можете запустити програму перегляду зображень
  • ssh файлова система: трохи схожа на sftp, але віддалена файлова система безперебійно інтегрована локально, тому локальні переглядачі зображень можуть запускати
  • Або на базі веб-сторінок: Цей термінал (як і багато інших) сам здатний відображати дані зображення (дані зображення "котячі" ed!)

http://liftoffsoftware.com/Products/GateOne введіть тут опис зображення


1

У Linux ви можете перенаправити ssh-вихід. За допомогою переглядача зображень, здатного читати зі стандартного вводу (див. Чи є переглядач зображень, який знімає зображення на STDIN? ) Та труба Unix |, я отримую:

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.