gpt4 book ai didi

linux - xTerm 如何与包含它的 XWindows session 通信?

转载 作者:太空宇宙 更新时间:2023-11-04 11:20:05 25 4
gpt4 key购买 nike

我想在 Linux(openSUSE 12.3)和 XWindows 下以 kiosk 模式编写打开 chromium 的脚本,同时控制 chromium 出现在哪个监视器中。我还需要让这个脚本在标准 xterm 之外运行,例如通过 ssh 进入 chromium 和显示器将运行的机器(即我希望应用程序出现在我正在连接的机器的显示器之一上,而不是我正在连接的机器上)。

我可以在目标机器上的 xterm 中手动完成我想做的一切,但我不会在 xterm 中运行这些脚本。不知何故,xterm 环境是特殊的:它知道如何与包含的 XWindows session 对话,并且实际上知道它托管在哪个实际监视器上。例如:

  • 当我通过 ssh 进入机器并尝试在目标机器的显示器上运行 XWindows GUI 时,它(合理地)提示“无法打开显示器”。但是,即使我将 DISPLAY 环境变量设置为我在 xterm 中看到的相同值,我仍然会收到错误消息(尽管它现在包含当前的 DISPLAY 值)。我还尝试将 DISPLAY 设置为“:X.Y”的各种排列,其中 X 和 Y 是小整数,但同样无济于事。

  • 如果我从 xterm 以 --kiosk 模式运行 chromium,它会接管当前包含 xterm 窗口的监视器。如果我将 xterm 拖到我的另一台显示器上,那么 Chromium 将在该显示器中启动。当我从我的脚本启动 Chromium 时,我想要那个控件,但无法弄清楚背景魔法。

对于窗口操作,我看到了使用 wmctrl 或 devilspie 的建议,但我对依赖多年未更新的工具感到有点紧张。我还希望立即在正确的位置启动 chromium,而不是让它出现在错误的位置然后移动。而且这两个应用都无法帮助我远程启动应用。

所以,这是问题。首先,xterm 如何告诉 chromium 如何连接到正确的 XWindows session 和监视器?其次,如何从完全独立的 ssh 连接模拟它? (再次声明:它不仅仅是 DISPLAY 变量。)

谢谢,丹

最佳答案

由于权限原因,您无法在目标机器的显示器上打开 X 客户端:不是任何可以通过 ssh 进入机器的人都可以“取得”它的屏幕。这些是由 xset 控制的东西——仔细阅读。

至于显示:我假设具体的监视器是由 DISPLAY 环境的第二部分控制的。至少这是我在阅读 X 时所记得的。我实际上从未在多显示器 X 环境中工作过。

关于linux - xTerm 如何与包含它的 XWindows session 通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com