我正在尝试使用 gnome 命令的眼睛在两个单独的显示器上打开图像查看器的两个实例。问题是,如果我使用命令:
eog -s --display=DVI-0 image.jpg
它声明它无法打开显示器(我的假设是它指的是 X 显示器)。有没有办法在每个屏幕上打开一个实例?
我正在尝试使用 gnome 命令的眼睛在两个单独的显示器上打开图像查看器的两个实例。问题是,如果我使用命令:
eog -s --display=DVI-0 image.jpg
它声明它无法打开显示器(我的假设是它指的是 X 显示器)。有没有办法在每个屏幕上打开一个实例?
这里有两个问题:
第一个很简单:选项
--new-instance
可以解决问题。第二个更复杂。--display 参数指的是要使用的X 服务器,而不是屏幕和/或监视器的名称(xorg.conf 术语)。所以 --display 不适合使用。
在终端上发布
eog --fullscreen image.jpg
时,图像与终端在同一屏幕上打开。所以我想有一种方法可以告诉 Gtk 在精确的屏幕上打开。(注意:选项 -s 用于幻灯片放映,即,如果您想要一张图片,则更喜欢全屏。)从 GTK/Gdk 的文档和 eog 的源代码来看,eog 似乎创建了一个带有 teh 图像的弹出窗口,并请求 gdk 将其设置为全屏。Gdk 然后请求窗口管理器设置弹出窗口全屏的“窗口”。因此,在这个或那个屏幕上打开图像的决定权属于窗口管理器。
wmctrl
似乎是与窗口管理器通信的正确工具。这是执行此操作的脚本草稿。但是您应该将 1280 替换为您的实际屏幕宽度。另请注意,因为脚本使用窗口名称来识别它们,所以如果您的桌面上存在具有相似名称('image1'、'image2')的窗口,这将不起作用。