Як я можу переглянути зображення через 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.