在 Linux 上禁用特定屏幕的用户交互

Disable user interactions for a specific screen on Linux

我们有一台带有两个物理显示器的 PC 和一个用于为客户提供服务的桌面应用程序。我们的用例如下:

  1. 屏幕 A 被员工使用
  2. 屏幕 B 正对着客户

OS 是 Ubuntu(Xubuntu 18.04 Bionic 具体而言)运行 LightDM。

需要的是让员工无法移动鼠标指针、拖动windows或以其他方式与屏幕交互B,这样它仅用于显示信息。

换句话说,从显示的角度来看,它必须是桌面的一部分,但就用户的可用性而言,它必须被排除在桌面之外。

我尝试查看 xrandr 选项,但没有找到适合我目的的选项。有什么想法吗?

我们最终可以使用 ZaphodHeads Intel 驱动程序选项解决这个问题(机器有一个板载双头 Intel 卡)。 Xorg.conf的相关片段:

Section "Device"
    Identifier     "Intel0"
    Driver         "intel"
    BusID          "PCI:0:2:0"
    Screen         0
    Option         "MonitorDP" "DP1"
    Option         "ZaphodHeads" "DP1"
EndSection

Section "Device"
    Identifier     "Intel1"
    Driver         "intel"
    BusID          "PCI:0:2:0"
    Screen         1
    Option         "MonitorVGA" "VGA1"
    Option         "ZaphodHeads" "VGA1"
EndSection

Section "Monitor"
    Identifier     "MonitorDP"
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "MonitorVGA"
    Option         "DPMS"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Option         "AutoServerLayout" "on"
    Device         "Intel0"
    Monitor        "MonitorDP"
    SubSection     "Display"
        Viewport   0 0
        Depth      24
        Modes      "1280x1024"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Option         "AutoServerLayout" "on"
    Device         "Intel1"
    Monitor        "MonitorVGA"
    SubSection     "Display"
        Viewport   0 0
        Depth      24
        Modes      "1280x1024"
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier     "Multihead"
    Option         "AutoServerLayout" "on"
    Screen         0  "Screen0"
    Screen         1  "Screen1"
EndSection