Jak mogę oglądać zdjęcia przez ssh

23

Monitoruję stronę internetową i chcę wiedzieć, czy istnieje sposób, aby wyświetlić zdjęcia za pośrednictwem ssh, zamiast ładować stronę za każdym razem.

mrhobbeys
źródło
więc masz dostęp ssh do serwera i oglądasz katalog zdjęć?
Frank Thomas
Tak, skonfigurowałem scritp, aby ostrzegał mnie o dodaniu czegoś nowego. Teraz chcę móc go wyświetlić i usunąć lub zatwierdzić przez ssh.
mrhobbeys

Odpowiedzi:

32

Nie powiedziałeś, z jakiego systemu operacyjnego się łączysz. Jeśli używasz * nix z serwerem X, możesz użyć przekazywania X ssh X. Umożliwi to uruchamianie aplikacji graficznych na zdalnym serwerze i wyświetlanie ich na komputerze lokalnym. Na przykład:

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

Zakładając, że serwer został eogzainstalowany, powinno to spowodować otwarcie obrazu i wyświetlenie go na ekranie.

Na przyszłość, zadając pytania na tej stronie, dobrze jest określić używany system, ponieważ poprawna odpowiedź często będzie od niego zależeć.

terdon
źródło
Jestem dzisiaj na Windowsie z kitem i Xmingem, więc spróbuję.
mrhobbeys
To działa ładnie.
mrhobbeys
5

Jeśli korzystasz z systemu OS X, korzystając z iTerm2, możesz zrobić imgcati wyświetlić obraz bezpośrednio w terminalu.

https://www.iterm2.com/documentation-images.htmlwprowadź opis zdjęcia tutaj

Dyno Fu
źródło
Co zrobić, jeśli korzystasz z systemu OSX z iterm 2 i korzystałeś sshz komputera zdalnego?
Andrew Hundt
1
Będzie działać, jeśli masz na serwerze skrypt imgcat.
Dyno Fu
2
imgcatczy obraz kota nie byłby bardziej odpowiedni?
CousinCocaine
Czy serwerem musi być OS X? Co dokładnie powinienem zrobić, jeśli mój serwer to Ubuntu, a mój klient to Mac?
Sridhar Sarnobat
nie ma wymagań na serwerze. jeśli korzystasz z ssh z terminala, serwer musi mieć imgcat. w zasadzie imgcat przekształca obraz w coś, co iTerm2 może zrozumieć.
Dyno Fu
3

Jest to częsty problem wśród badaczy komputerowych. Stworzyłem mały skrypt ( https://github.com/nicodjimenez/ImgView ), którego używam do wyświetlania obrazów w katalogu na zdalnym komputerze za pośrednictwem python run.py -d path/to/image/dir/. Następnie używam tunelowania ssh, aby przekazać port lokalny do portu zdalnego, na którym działam serwer, a następnie po prostu wyświetlam obrazy na moim komputerze lokalnym, wskazując przeglądarkę internetową na mój port lokalny, domyślnie http: //0.0 .0,0: 8000 / . To podejście jest najbardziej elastyczne w przypadku przeglądania obrazów przez ssh, ponieważ można kontrolować wygląd wyświetlacza.

nicodjimenez
źródło
Wygląda na to, że repo jest wyłączone, ale można to również zrobić za pomocą wbudowanego serwera WWW python -m SimpleHTTPServer. Również jeśli lokalna maszyna i serwer są w sieci VPN, nie ma potrzeby przesyłania dalej ssh.
crizCraig
Z python 3: python -m http.server. Będzie obsługiwał wszystkie pliki w bieżącym folderze.
fabian789
2

tiv (lub podobne narzędzia) powinny zrobić w większości przypadków. Nie wymaga to żadnych specjalnych emulatorów terminali, ponieważ drukuje tylko kody RGB ANSI.

wprowadź opis zdjęcia tutaj

Obsługuje również symbole wieloznaczne.

phil294
źródło
1

Zasadniczo możesz przesyłać dane multimedialne, np. Obrazy, na lokalny pulpit lub do samego terminalu ssh, jeśli jest w stanie wyświetlać multimedia:

  • Przekazywanie XWindow: przenosi dowolną aplikację do przeglądania obrazów ze zdalnego hosta na ekran
  • sftp: dowolny klient sftp przenosi multimedia na lokalny pulpit, na którym można uruchomić przeglądarkę obrazów
  • system plików ssh: trochę jak sftp, ale zdalny system plików jest bezproblemowo zintegrowany lokalnie, więc lokalne przeglądarki obrazów mogą się uruchomić
  • Lub oparty na sieci: ten terminal (podobnie jak wiele innych) jest w stanie wyświetlać dane obrazu (dane obrazu to „cat” ed!)

http://liftoffsoftware.com/Products/GateOne wprowadź opis zdjęcia tutaj

SLN
źródło
1

W systemie Linux można przekierować wyjście ssh. Za pomocą przeglądarki obrazów, która potrafi czytać ze standardowego wejścia (patrz Czy istnieje przeglądarka obrazów, która pobiera obrazy na STDIN? ) I Unix Pipe |, otrzymuję:

ssh remote_host "cat /remote/path/to/image" | display

PS: wymaga to programu wyświetlającego ImageMagick na lokalnym hoście. Komenda między cudzysłowami jest wykonywana przez ssh na zdalnym hoście. Lub w przypadku innych przeglądarek zdjęć (tutaj Gnome eog viewer):

FIFO=$(mktemp -u);
ssh remote_host "cat /remote/path/to/image" > "$FIFO";
eog  "$FIFO" && rm "$FIFO";
Alban Browaeys
źródło
0

Jeśli masz ścieżkę do zdjęć, którą możesz polubić Frank Thomas, możesz je pobrać i otworzyć w przeglądarce zdjęć za pomocą scp lub sftp, jeśli masz dostęp. Jeśli używasz Linuksa, zrób wget na zdjęciach, ale oczywiście nie możesz ich otworzyć w powłoce, więc pobranie ich jest najlepszą opcją, jeśli mówisz wyłącznie o powłoce.

MDMoore313
źródło
To naprawdę nie działałoby dobrze tylko dlatego, że w tym momencie łatwiej byłoby otworzyć przeglądarkę, aby je zobaczyć.
mrhobbeys
Cóż, zależy to od konfiguracji, ponieważ jeśli nazwy obrazów mają podobną ścieżkę i konwencję nazewnictwa, wówczas można je skrypty i przekształcić w cronjob.
MDMoore313,
0

Możesz także użyć sshfs, jeśli jesteś pod Linuksem.

carlspring
źródło
lub użyj WinSCP, jeśli w systemie Windows.
Frank Thomas
1
@FrankThomas: Cóż, nie o to mi chodziło. Dzięki sshfsmożesz po prostu zamontować zdalny system plików i będzie on zachowywał się tak, jakby pliki znajdowały się na twoim komputerze. Nie trzeba niczego pobierać ...
Carlspring
0

Używam thunar(menedżera plików, również współpracuje z nautilusi prawdopodobnie innymi), aby robić takie rzeczy.

Jeśli wpiszesz adres:

sftp://user@ip:port/

Połączy się przez ssh(opcjonalnie z prośbą o hasło / hasło) i wyświetli system plików wizualnie, w którym można otworzyć obrazy za pomocą przeglądarki (np. gpicviewLub eog, ale eogw tym przypadku okazało się, że jest powolny).

Paweł
źródło
0

Możesz dodać pamięć sieciową do eksploratora plików systemowych:

Dodawanie serwera

ZettaCircl
źródło