【问题标题】:Access to a monitor not containing the desktop访问不包含桌面的监视器
【发布时间】:2013-02-18 14:47:30
【问题描述】:

在具有多台显示器且其中一台未显示桌面的计算机上,有没有办法通过程序在该显示器上绘图?

推理:我需要在单独的监视器上全屏显示可变图像,而用户不能用鼠标干扰屏幕,也不能在我的图像上移动窗口。示例:一台计算机连接了一台显示器和一台投影仪;显示器显示“正常”桌面,投影仪显示生成的图像(例如,颜色渐变)。

第一次使用是在Win7上,但如果有便携的解决方案,Linux下的X11解决方案也不错。

【问题讨论】:

  • 您确定这在 Windows 中是否可行?就我个人而言,我不在乎如何(D2D、D3D、OpenGL),但我希望避免让客户扩展他们的桌面。
  • @MikeVersteeg:我从来没有完全解决过这个问题。当前的“解决方案”使用setWindowState(Qt::WindowFullScreen) 在桌面的“正常”屏幕之一上全屏显示窗口。虽然这会阻止鼠标和大多数其他窗口显示在我的窗口前面,但它确实不会阻止所有重叠窗口(例如通知窗口)。
  • @MikeVersteeg This answer 表示在 Windows 上不可能
  • @ian-goldby 这实际上是我的问题的答案:谢谢。会将我的问题标记为重复。

标签: linux windows-7 x11 multiple-monitors


【解决方案1】:

在 Linux 上,使用虚拟帧缓冲区 xvfb 很容易。命令是:

Xvfb :1 -screen 0 1600x1200x32

可以通过设置环境变量DISPLAY=:1在虚拟屏幕上运行程序

最好的部分是用户甚至不必担心干扰鼠标或键盘。对测试非常有用。

【讨论】:

  • 感谢您提供的 Linux 解决方案:我实际上希望这将是一个单行或至少相当容易。 :-)
【解决方案2】:

在 Linux 下,您还可以在额外的监视器上运行第二个 X 会话

Xorg :1 -config /path/to/xorg_1.conf

但是你需要编写一个 xorg_1.conf 配置文件来输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2021-07-24
    • 2014-05-06
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多