一些背景信息:我正在处理属于较大系统的一部分软件。系统的大多数部分都有一个连续运行的后台进程,以及一个GUI,可以在需要该功能时打开它。引起我麻烦的特定软件改写为包含GUI和后台处理的单个程序。这意味着GUI必须始终处于运行状态,否则相关处理将无法进行。这是不希望的(出于多种原因)。
作为一种解决方法,我研究了各种X伪服务器,这些伪服务器将使我能够根据需要显示/隐藏GUI窗口。我专门看过的三个是xmove,ximove和xpra
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伪服务器应用程序有任何了解。
Xvfb :1
并使用启动程序DISPLAY=:1 yourprogram
。这样,您将在X会话中看不到任何UI,并且仍然可以与程序UI进行交互,例如,通过启动连接到Xvfb会话的VNC服务器。隐藏UI的另一种方法可能是-geometry
命令行选项,通常由基于xlib的程序解析。
xpra
浮动;大多数发行版存储库中提供的版本已经过时了。试试xpra.org的更高版本