一些背景信息:我正在处理一个属于更大系统的软件。系统的大多数部分都有一个持续运行的后台进程,以及一个可以在需要该功能时打开的 GUI。给我带来麻烦的特定软件被编写为包含 GUI 和后台处理的单个程序。这意味着 GUI 必须始终运行,否则无法进行相关处理。这是不希望的(出于多种原因)。
作为一种解决方法,我研究了各种 X 伪服务器,它们允许我根据需要显示/隐藏 GUI 窗口。我特别关注的三个是xmove、ximove和xpra
xmove真的很旧(自 1997 年 11 月以来就没有开发过)并且不支持 24 位图形,这是一个非初学者。
我还发现了一个叫做ximove 的东西。作者 Mark C. Ballew 开始着手改进 xmove(XIMove?Xmove 改进)。但是,查看他的网站,最后一次状态更新似乎是 8/16/04,它链接到http://forum.ximove.com/似乎不再存在。
xpra似乎是最有希望的选择,但它并没有像预期的那样奏效。我收到很多错误,抱怨“Cairo”,这是任何讨论依赖项的 xpra 文件中都没有涵盖的内容……尽管如此,该程序确实适用于小型应用程序,例如 Web 浏览器。但是,当我尝试将它用于我的问题程序时,我收到了更多错误(开罗错误和其他错误)。并且 xpra 和应用程序本身似乎都崩溃了。
我正在考虑尝试全新安装最新版本的 xpra,但我想知道你们中是否有人对我应该尝试的其他一些 X 伪服务器应用程序有任何见解。
我已经从他们托管在 winswitch 上的发行版下载并安装了 Xpra。但是,当我尝试在我的服务器上运行它时,我得到:
此 xpra 安装不支持启动本地服务器。
事实上,它不会接受start
模式,只接受attach
模式。我做错了什么,毕竟我如何主持 xpra 会话?
运行 Red Hat Enterprise Linux Server 6.0 版(圣地亚哥),Linux 版本 2.6.32-71.el6.x86_64
我在中央服务器上打开了多个显示器。是否可以将运行在特定位置的 X-window 应用程序“移动”DISPLAY
到不同的位置DISPLAY
?如何才能做到这一点?
我正在使用xpra
多个远程显示器。
我正在寻找一种在网络上复制我的桌面的方法。(可以在 Web 浏览器客户端上运行的东西会很棒。)
我尝试使用vnc
/x11vnc
但质量/帧率太低。(智能手机客户端的 CPU 太高 - 我认为。)
我试图将屏幕转换为流媒体视频,ffmpeg
但我做不到。(质量差,不是真正的流媒体系统)
有没有办法做到这一点 ?也许通过使用 X11 转发和复制屏幕?
ssh -X
和xrandr -d :0 --output HDMI-1 --auto
也许的混合?(此xrandr
代码重复屏幕上HDMI-1
)
喜欢:(xrandr -d :0 --output http://192.168.1.3:9001 --auto
我在做梦。)
编辑:也许xpra
可以做我正在寻找的东西?但我现在不能让它工作。
我正在阅读https://security.stackexchange.com/questions/120612/x-windows-security-vnc-and-x-server-vs-xpra。在下面的场景中,封装了哪些协议,即在哪些协议之上?
使用时ssh -X
,X协议是否位于SSH协议之上(然后是TCP协议之上)?x 客户端运行在远程主机上,x 服务器运行在本地主机上吗?
当使用VNC而不使用SSH时,X协议是否位于VNC(即RFB)协议之上,那么VNC协议是否位于TCP协议之上?或者x客户端和x服务器都运行在远程主机上,而VNC协议只将远程桌面的快照传输到本地主机?
当使用 VNC 和 SSH 时,X 协议是否位于 VNC(即 RFB)协议之上,然后又位于 SSH 协议之上(然后又位于 TCP 协议之上)?
当使用 xpra 而不使用 SSH 时,X 协议是否位于 TCP 协议之上?x 客户端运行在远程主机上,x 服务器运行在本地主机上吗?
xpra还可以转发整个桌面,它的工作方式是否像VNC协议一样,X客户端和X服务器都运行在远程主机上?
当将 xpra 与 SSH 一起使用时,X 协议是否位于 SSH 协议之上(那么它就位于 TCP 协议之上)?
谢谢。