use*_*159 5 xrandr video display multiple-monitors xmonad
有/etc/acpi/几个脚本可以自定义,以便在物理计算机上发生特定事件时执行某些操作,例如lid.sh打开或关闭笔记本电脑盖时调用的脚本,但我正在寻找一种方法来检测何时发生某些事件插入或断开 Mini DisplayPort,以便我可以运行命令。
我在那里没有看到任何这样的脚本(除非我错过了一些东西)。
该命令将使用自动配置多显示器设置xrandr。这曾经在 Gnome 中自动发生(~/.config/monitors.xml我相信使用),但我现在已经完全切换到它xmonad,它不会自动检测到这一点。
是的,使用 udev 应该可以。
我在这里问/回答了类似的问题(更改 HDMI(断开)连接上的声音输出)。首先,您需要创建一个 udev 规则,如下所示:
SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/update_screen_config"
Run Code Online (Sandbox Code Playgroud)
它应该与我的答案位于同一位置,但您可以更改名称。要准确了解您需要使用哪个子系统和操作udevadm并连接您的 DP。在我的系统中,连接 HDMI 屏幕时我得到:
$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
(here I connected my screen)
KERNEL[16383.092226] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV [16383.281930] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
(disconnected my screen)
KERNEL[16389.092226] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV [16389.281930] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
Run Code Online (Sandbox Code Playgroud)
第二部分是创建/usr/local/bin/update_screen_config(您可以给它其他名称或位置)。我使用了Python脚本,但你可以使用任何你想要的,因为它可以被执行。这将是连接/断开电缆时调用的脚本,因此它必须找到当前状态并使用xrandr执行您需要的操作。看看我如何检测屏幕状态以及它是否适合您的需求。
注意:该脚本由 udev 执行root,因此在将其置于 udev 上之前,请以普通用户身份对其进行测试。
| 归档时间: |
|
| 查看次数: |
5174 次 |
| 最近记录: |