如何通过ssh查看图片

mrh*_*eys 41 ssh pictures

我正在监控一个网站,想知道是否有办法通过 ssh 查看图片而不是每次都加载网站。

ter*_*don 40

你还没有说你从什么操作系统连接。如果您使用的是运行 X 服务器的 *nix,则可以使用 ssh X 转发。这将使您能够在远程服务器上运行图形应用程序并将它们显示在本地计算机上。例如:

ssh -Y user@server
eog pictures/foo.png
Run Code Online (Sandbox Code Playgroud)

假设服务器已eog安装,这应该会导致图像被打开并显示在您的屏幕上。

为了将来参考,在本网站上提问时,最好指定您使用的系统,因为正确的答案通常取决于它。


小智 9

如果您在 OS X 上,使用 iTerm2,您可以imgcat直接在终端中执行和显示图像。

https://www.iterm2.com/documentation-images.html在此处输入图片说明

  • `imgcat`,猫的图像不是更合适吗? (14认同)
  • 如果您在使用 iterm 2 的 osx 上并使用“ssh”进入远程计算机怎么办? (2认同)
  • 如果您需要在只需 ssh(ed) 的服务器上安装 imagecat,就像我必须这样做的那样,您可以运行:`sudo curl -o /usr/local/bin/imgcat -O https://iterm2.com /utilities/imgcat && sudo chmod +x /usr/local/bin/imgcat` (2认同)

phi*_*294 9

tiv(或类似工具)在大多数情况下应该可以。这不需要任何特殊的终端仿真器,因为它只打印 RGB ANSI 代码。

在此输入图像描述

还支持通配符。


小智 5

这是计算机视觉研究人员的共同痛点。我创建了一个小脚本(https://github.com/nicodjimenez/ImgView),我用它来通过python run.py -d path/to/image/dir/. 然后我使用 ssh 隧道将本地端口转发到运行服务器的远程端口,然后我只需将 Web 浏览器指向本地端口即可查看本地计算机上的图像,默认情况下为http://0.0 .0.0:8000/ . 这种方法对于通过 ssh 查看图像来说是最灵活的,因为您可以控制显示的外观。


小智 5

我已经尝试了此页面上其他答案列出的一些方法,并且我已经在 Ubuntu 20 和 MacOS Mojave 上尝试过它们(我的机器是双启动的可憎之物)。在这两个系统上,我发现使用-X标志ssh和然后eog工作,但有点慢和笨重。如果您浏览小目录,X 转发可能没问题,但如果您工作的目录有大量数据,则可能完全无法使用。

我见过的最好的方法是sshfs. 设置起来很容易,我发现它非常灵活。基本上它将远程文件系统挂载为本地驱动器,允许您查看远程文件或在本地运行时和远程主机之间传输文件 - 比scp(尽管这scp是一项有用的技能)更容易和更直观。

Ubuntu

我不确定以前的版本,但 Ubuntu 20.04 附带了sshfs. 如果你的 Ubuntu 版本没有它,你可以安装它

sudo apt install sshfs
Run Code Online (Sandbox Code Playgroud)

要使用它,您需要一个空目录。我的主目录中有我的并将其命名为sc. 要设置它,请运行以下命令:

sshfs -o follow_symlinks <user>@<server address>:/ ~/sc
Run Code Online (Sandbox Code Playgroud)

瞧!当您使用文件资源管理器或终端打开时,sc您将看到已安装远程驱动器。

苹果系统

这些步骤与 Linux/Ubuntu 的步骤几乎相同。这里的区别在于 MacOS 没有sshfs安装,并且sshfs还需要一些 MacOS 中不包含的依赖项。因此,首先,我们使用以下命令安装这些依赖项:

brew install osxfuse
Run Code Online (Sandbox Code Playgroud)

现在我们可以安装sshfs

brew install sshfs
Run Code Online (Sandbox Code Playgroud)

然后要挂载远程驱动器,您需要创建一个本地空目录 - 我称之为我的sc,它位于我的主目录中。然后将远程驱动器挂载到远程目录中

sshfs -o follow_symlinks <user>@<server address>:/ ~/sc
Run Code Online (Sandbox Code Playgroud)

当您sc使用您最喜欢的文件资源管理器(例如 MacOS 上的 Finder)打开时,您会在那里找到远程驱动器,可能带有名称OSXFUSE Volume 0...

希望这可以帮助!