在创建一些系统图像之前,我正在与我们的管理团队合作,以确定开发团队的所有要求。
我们最终需要的东西之一是轻量级 GUI 设置。我们知道开销实际上不应该存在于服务器上,所以我们会关闭 X 服务器。误解;根据评论,X 服务器应该只在客户端运行,我们可以自由地安装图形工具而无需运行它。
- 我将能够打包在图像首次运行时执行的 bash 脚本
- 在我们的设置中,GUI 管理任务很少见,但在某些客户端上很常见,因此我们将包含一个可以从 ssh 运行的脚本,以启用 WM 和 x-forwarding。不会在本地或远程使用 GUI。
- 虽然并不常见,但是当人们确实需要使用 GUI 时,有时会有很多人同时登录。
- 一些开发人员在 Windows 上使用 X Ming,其他人则自带 Linux
- 服务器是 CentOS、FreeBSD 和 Debian;当前稳定版本 +|- 几个月。
由于窗口管理器数量太多,我甚至还没有尝试过绝大多数窗口管理器,但我考虑过使用 openbox、ice 或可能更耗资源的程序,如果它能更好地处理多个会话的话。我们的总体共识如下图所示。
使用哪个特定管理器超出了这个问题的范围;但是,这很好地概括了我们的目标。
鉴于这些要求,我试图找出:什么是一个相当标准和可移植的设置或堆栈,用于通过 ssh 动态实例化窗口?
我认为其他人也遇到过类似的情况。至少,我根本不知道在 WM 可移植性方面应该寻找什么。除此之外,也许只需选择 WM 并编写启动脚本,但如果有任何针对此用例的技术、包、项目或特定 WM,那也很好。
答案1
在这种情况下,您根本不需要窗口管理器!只需ssh -X
启动您的应用程序即可。
X 服务器及其自身的窗口管理在用户桌面本地运行,而不是在远程服务器上运行。Windows 和 Mac 用户必须手动启动 X 服务器,但在 Linux 桌面上,它当然已经在运行了。