我一直处于桌面崩溃并无法响应的情况。(在我的情况下,它是肉桂DE,我还没有尝试cinnamon --replace
从命令行,BTW)
我使用的是下载管理器型GUI应用程序下载一个大文件,很显然,这一进程仍在即使GUI是borked很愉快地运行。如果我杀了XI将杀死所有的子进程,并被迫重新启动我的下载等。
是否可以创建代理X会话,分离现有的GUI进程并将其挂接到“虚拟”会话,重新启动实际的X会话并最终将GUI进程重新绑定到新的健康的X会话?如果是这样,怎么办?
从理论上说,失去了它的X服务器连接的程序可能只是尝试重新连接到一个新的X服务器可用。事实上,我已经写了做这个项目。它需要额外的代码,因为您必须重新运行GUI初始化例程才能在新的X服务器上重新创建资源(窗口,位图,字体等),并刷新程序的所有内部数据结构以使用这些新的资源。
可悲的是,我见过的几乎所有X程序都不愿意这样做。它们只是崩溃了,因为所有重新连接/重新设置都太麻烦了。更令人遗憾的是,他们不能被诱骗切换X服务器,因为该程序中不存在用于重新初始化其图形资源的代码。因此,对于大多数程序来说,如果失去X连接,它们注定会失败。
作为XTaran提到,有一个整洁的继电器/垫片/代理节目叫'xpra'这就像一个X服务器到客户端,然后可以做他们的资源的重新初始化到任何其他X服务器,让您移动X服务器之间的所有程序,如您所愿。当我十年前使用它时,它有很多错误。我敢肯定,他们已经自那时以来所取得的进展,但你需要找出其稳定的足够日常桌面使用是否。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句