Como posso ver fotos via ssh


23

Estou monitorando um site e quero saber se existe uma maneira de visualizar as imagens via ssh, em vez de carregar o site toda vez.


então você tem acesso ssh ao servidor e está assistindo o diretório de imagens?
26613 Frank Thomas

Sim, configurei um scritp para me alertar quando algo novo for adicionado. Agora eu quero poder visualizá-lo e remover ou aprovar via ssh.
Mrhobbeys

Respostas:


32

Você não disse de que sistema operacional está se conectando. Se você estiver usando um * nix executando um servidor X, poderá usar o encaminhamento ssh X. Isso permitirá executar aplicativos gráficos no servidor remoto e exibi-los na máquina local. Por exemplo:

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

Supondo que o servidor esteja eoginstalado, isso deve fazer com que a imagem seja aberta e exibida na tela.

Para referência futura, ao fazer perguntas neste site, é uma boa idéia especificar o sistema que você está usando, porque a resposta correta geralmente depende dele.


Estou no windows com massa e xming hoje, então vou tentar fazer isso.
Mrhobbeys

Isso funciona bem.
Mrhobbeys

5

se você estiver no OS X, usando o iTerm2, poderá fazer imgcate exibir a imagem diretamente no terminal.

https://www.iterm2.com/documentation-images.htmlinsira a descrição da imagem aqui


E se você estiver no osx com o iterm 2 e tiver usado sshuma máquina remota?
Andrew Hundt 21/03

11
Funcionará se você tiver o script imgcat no servidor.
Dyno Fu

2
imgcat, a imagem de um gato não seria mais apropriada?
CousinCocaine

O servidor precisa ser o OS X? O que exatamente devo fazer se meu servidor for Ubuntu e meu cliente for Mac?
Sridhar Sarnobat 03/09

não há requisito no servidor. se você é ssh do terminal, o servidor precisa ter o imgcat. basicamente, o imgcat converte a imagem em algo que o iTerm2 possa entender.
Dyno Fu

3

Este é um ponto de dor comum entre os pesquisadores de visão computacional. Eu criei um pequeno script ( https://github.com/nicodjimenez/ImgView ) que eu uso para veicular imagens em um diretório em uma máquina remota via python run.py -d path/to/image/dir/. Em seguida, uso o encapsulamento ssh para encaminhar uma porta local para a porta remota na qual estou executando o servidor e apenas visualizo as imagens na minha máquina local, apontando meu navegador da web para a minha porta local, por padrão http: //0.0 .0.0: 8000 / . Essa abordagem é a mais flexível para a visualização de imagens por ssh, pois você pode controlar a aparência da tela.


Parece que o repo está fora do ar, mas isso também pode ser feito com o servidor da web incorporado python -m SimpleHTTPServer. Além disso, se sua máquina e servidor local estiverem em uma VPN, não será necessário encaminhar o ssh.
CrizCraig 8/05

Com python 3: python -m http.server. Servirá todos os arquivos na pasta atual.
fabian789

2

tiv (ou ferramentas similares) deve funcionar na maioria dos casos. Isso não requer emuladores de terminal especiais, pois imprime apenas códigos ANSI RGB.

insira a descrição da imagem aqui

Também suporta caracteres curinga.


1

Em geral, você pode transferir os dados de mídia, por exemplo, imagens, para a área de trabalho local ou para o próprio terminal ssh, se for capaz de exibir mídia:

  • Encaminhamento do XWindow: traz qualquer aplicativo de visualizador de imagens da área de trabalho do host remoto para o seu monitor
  • sftp: qualquer cliente sftp transfere a mídia para a área de trabalho local, onde você pode iniciar um visualizador de imagens
  • sistema de arquivos ssh: um pouco como o sftp, mas o sistema de arquivos remoto é perfeitamente integrado localmente para que os visualizadores de imagens locais possam iniciar
  • Ou baseado na web: este terminal (como muitos outros) é capaz de exibir dados de imagem (os dados de imagem são "criados"!)

http://liftoffsoftware.com/Products/GateOne insira a descrição da imagem aqui


1

No Linux, você pode redirecionar a saída ssh. Com a ajuda de um visualizador de imagens capaz de ler da entrada padrão (consulte Existe um visualizador de imagens que captura imagens no STDIN? ) E no Unix Pipe |, recebo:

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

PS: isso requer o programa de exibição do ImageMagick no host local. O comando entre aspas é executado pelo ssh no host remoto. Ou para outros visualizadores de imagens (aqui, visualizador de imagens do Gnome eog):

FIFO=$(mktemp -u);
ssh remote_host "cat /remote/path/to/image" > "$FIFO";
eog  "$FIFO" && rm "$FIFO";

0

Se você tem o caminho das imagens, como Frank Thomas disse, pode baixá-las e abri-las em um visualizador de imagens via scp ou talvez sftp, se tiver acesso. Se você estiver usando o linux, faça um wget nas imagens, mas é claro que não poderá abri-las em um shell, então fazer o download delas é a melhor opção se você estiver falando puramente de shell.


Isso realmente não funcionaria bem apenas porque naquele momento seria mais fácil abrir um navegador para vê-los.
Mrhobbeys

Bem, isso depende da configuração, porque se os nomes das imagens tiverem um caminho semelhante e uma convenção de nomenclatura, eles poderão ser roteirizados e transformados em um cronjob.
MDMoore313

0

Você também pode usar sshfs, se estiver no Linux.


ou use o WinSCP se estiver no Windows.
26613 Frank Thomas

11
@FrankThomas: Bem, isso não era o que eu tinha em mente. Com sshfsvocê, basta montar o sistema de arquivos remoto e ele se comportará como se os arquivos estivessem no seu computador. Não há necessidade de baixar nada ...
carlspring

0

Eu uso thunar(um gerenciador de arquivos, também trabalha com nautiluse provavelmente outros) para fazer esse tipo de coisa.

Se você digitar o endereço:

sftp://user@ip:port/

Ele se conectará via ssh(opcionalmente solicitando uma senha / senha) e exibirá o sistema de arquivos visualmente, onde você pode abrir as imagens com um visualizador (por exemplo , gpicviewou eog, mas achei eoglento neste caso).


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.