我有一个运行 Linux 的安全摄像头系统,它被放置在摄像头附近(不在办公室)。它有一个 VGA 输出并使用 USB 鼠标。我想将 VGA 和 USB 重定向到我网络上的另一台机器。我可以用一些 /dev 做一些很酷的 bash/netcat 事情,通过 TCP/IP 将数据推送到另一个 Linux 机器?我确信我可以使用一些长延长线,但我想要一些便宜而灵活的东西。有什么提示吗?
答案1
如果 Linux 机器正在使用 X,并且您可以通过 shell 启动所使用的应用程序,您可以尝试以下操作:
- 在您想要连接显示器/鼠标的系统上运行本地 X 服务器 - 在 Windows 系统上,您可以安装 Xming,并关闭访问控制以简化操作。
- 进入 Linux 框并输入
export DISPLAY={IP of your Windows system}:0
- 尝试运行应用程序 - 它可能需要命令行开关来告诉它不同的显示
由于涉及从视频渲染摄像头反馈,上述方法可能效果不佳。遗憾的是,远程视频和鼠标控制并不像通过网络将数据传输到/dev
文件那么简单。
您可能只需要查看一些“KVM-over-IP”硬件。
答案2
听起来您需要 X 转发或 VNC。
X 转发允许您(通过 SSH 或类似程序)在远程计算机上执行程序,但所有显示“命令”都发送到您的本地计算机。众所周知,它的速度很慢,但当您不处理图形密集型事物并且只想查看单个窗口而不是整个屏幕时(并且您的 LAN 相当快,即 100Mbit 或更高),这是最佳解决方案。X 转发还允许您使用鼠标从远程计算机控制程序等。
另一方面,VNC 基本上会在远程计算机上截取一系列屏幕截图,然后将其转发到您的计算机。您还可以使用鼠标等控制远程计算机。您可以看到整个远程“桌面”(假设您使用的是 GUI),并且可以与其交互,就像您的屏幕和鼠标插入远程计算机一样。与 X 转发相比,VNC 通常性能相当出色。
主要区别:
- X 只允许你转发“程序”,而不是整个桌面
- VNC 仅允许整个桌面,如果您只需要一个小窗口,这可能会很烦人
- 一般情况下(我认为),对于 X 转发程序,您只能在一个地方或另一个地方运行它们。因此,如果您想在本地计算机和远程计算机上查看显示内容,则必须运行该程序的两个实例。