在 Linux 上禁用特定屏幕的用户交互
Disable user interactions for a specific screen on Linux
我们有一台带有两个物理显示器的 PC 和一个用于为客户提供服务的桌面应用程序。我们的用例如下:
- 屏幕 A 被员工使用
- 屏幕 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
我们有一台带有两个物理显示器的 PC 和一个用于为客户提供服务的桌面应用程序。我们的用例如下:
- 屏幕 A 被员工使用
- 屏幕 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