使用 Openbox 在双显示器设置上镜像单个 X 应用程序

使用 Openbox 在双显示器设置上镜像单个 X 应用程序

在双显示器系统中是否可以镜像单个窗口而不是整个屏幕?换句话说,我可以要求 X 应用程序在 DISPLAY:0.0和 上同时打开:0.1吗?

基本上,这对于演示很有用,在演示中,只需将 PDF(或类似)窗口的副本发送到投影仪。

我的窗口管理器是 Openbox。

答案1

对于 X11 和 Openbox 的这一特定要求,我不知道是否可以进行这样的黑客攻击,但是使用 VNC 很容易实现您所追求的目标。

使用 x11vnc 镜像单个 X 应用程序

  1. 获取要镜像的窗口的 ID:xwininfo
  2. x11vnc -id {replace-by-window-id}

可能您必须安装 x11vnc,但您可以使用您的电脑上已安装的任何 VNC 客户端(Ubuntu 上的 Remmina),只需注意 x11vnc 给出的端口号即可。

使用默认应用程序镜像整个屏幕

大多数流行的 Linux 发行版已经安装了 vnc 服务器和客户端。在 Ubuntu 上,VNC 服务器是 vino,Remmina 是客户端,安装它们很简单,类似于sudo apt-get install vino remmina或等效的sudo yum install vino remmina

要检查 Vino 是否已安装,请启动vino-preferences,如果您已获得首选项窗口,则启用共享,并在安全部分要求出现有关连接或密码的确认对话框。

完成此操作后,您可以通过以下方式启动 Vino 服务器/usr/lib/vino/vino-server(至少对于 Ubuntu 来说这是有效的)。如果您希望 vino 自动启动,请在启动应用程序中输入此命令。

然后,您只需与 Remmina 连接:选择 VNC 作为连接类型,然后在地址输入框中输入0.0.0.0:5900并按Connect!将会弹出一个对话框,询问您是否允许远程连接(如果您已在 Vino 首选项中进行了设置)。允许后,您将获得一个双屏幕镜像到另一个屏幕上。问题解决了。

  • 如果您处于安全网络中,因此速度和质量是您的首要任务,您可以启用与您的 vino 服务器的连接而不加密:gsettings set org.gnome.Vino require-encryption false

相关内容