xmove,xpra的替代品


11

一些背景信息:我正在处理属于较大系统的一部分软件。系统的大多数部分都有一个连续运行的后台进程,以及一个GUI,可以在需要该功能时打开它。引起我麻烦的特定软件改写为包含GUI和后台处理的单个程序。这意味着GUI必须始终处于运行状态,否则相关处理将无法进行。这是不希望的(出于多种原因)。

作为一种解决方法,我研究了各种X伪服务器​​,这些伪服务器将使我能够根据需要显示/隐藏GUI窗口。我专门看过的三个是xmoveximovexpra

xmove确实很旧(自1997年11月以来未开发),并且不支持24位图形,这是非入门级的。

我还发现了一个名为ximove的东西。作者Mark C. Ballew出于改善xmove(XIMove improvingXmove改进)的目的而开始了它。但是,从他的网站看,它的最新状态似乎是2006年8月16日,并且它链接到http://forum.ximove.com/,该网站似乎不再存在。

xpra似乎是最有前途的选项,但是它并没有像希望的那样工作。我在抱怨“ Cairo”时遇到了很多错误,这是讨论依赖性的任何xpra文件中都未涵盖的内容……尽管如此,该程序确实适用于小型应用程序,例如Web浏览器。但是,当我尝试将其用于问题程序时,会遇到很多错误(开罗错误和其他错误)。xpra和应用程序本身似乎都崩溃了。

我正在尝试试用最新版本的xpra的全新安装,但我想知道你们是否对我应该尝试的其他X伪服务器​​应用程序有任何了解。


1
您只需要隐藏窗口还是需要能够在没有X的情况下运行程序?您尝试过Xvfb吗?

不需要没有 X的情况下运行它,尽管那可以工作。我只需要某种方式在不可见的情况下运行它,以便当用户单击包装GUI中的按钮时,它似乎正在启动此应用程序,但实际上它将使其可见。我还没有尝试过Xcfb,但是当我看到您的答复时,我做了短暂的调查,但不确定是不是我要的...在没有X的情况下启动程序后,它看起来不像我可以将它附加到真正的Xserver上。您是否有经验告诉我事实并非如此?

2
Xvfb是虚拟帧缓冲X服务器。您可以使用启动它,Xvfb :1并使用启动程序DISPLAY=:1 yourprogram。这样,您将在X会话中看不到任何UI,并且仍然可以与程序UI进行交互,例如,通过启动连接到Xvfb会话的VNC服务器。隐藏UI的另一种方法可能是-geometry命令行选项,通常由基于xlib的程序解析。

问题是,如果我以这种方式启动程序,就无法在不杀死程序然后重新启动的情况下使其可见。另一方面,伪服务器允许您在不需要时伪造XServer,然后在确实需要时将其转发到实际的显示器上。我可以使用Xcfb吗?似乎无法做到(但我不是专家)。如果我总是希望将其隐藏起来,那么它似乎是一个很好的工具,但是如果我有时需要看到它,则不是。

3
注意:有各种版本的xpra浮动;大多数发行版存储库中提供的版本已经过时了。试试xpra.org的更高版本
Piskvor

Answers:


1

皮斯克沃在评论中说了什么。尝试使用最新版本的xpra。使用它的设置,禁用不需要的功能,例如音频转发。可以使其运作良好。


0

您可以尝试使用VNC服务器,例如XvncTightVNCTigerVNC

您还可以使用VirtualBox(至少为版本5),在虚拟机中安装操作系统和程序。如果以“可分离”模式启动VM,则可以关闭所有VirtualBox窗口并保持VM运行。然后,您可以重新启动VirtualBox GUI并重新连接到VM。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.