linux – 为外部显示添加udev规则
发布时间:2020-12-13 13:47:54 所属栏目:Linux 来源:网络整理
导读:我写了一个小的 shell脚本,用xrandr配置连接的外部显示器. # cat /home/didi/bin/monitor_autoswitcher.sh #!/bin/bashxrandr | grep "HDMI1 connected"if [[ $? == 0 ]]; then # is connected xrandr --output HDMI1 --right-of LVDS1 --autoelse # not con
我写了一个小的
shell脚本,用xrandr配置连接的外部显示器.
# cat /home/didi/bin/monitor_autoswitcher.sh #!/bin/bash xrandr | grep "HDMI1 connected" if [[ $? == 0 ]]; then # is connected xrandr --output HDMI1 --right-of LVDS1 --auto else # not connected xrandr --output HDMI1 --auto fi xrandr | grep "VGA1 connected" if [[ $? == 0 ]]; then # is connected xrandr --output VGA1 --right-of LVDS1 --auto else # not connected xrandr --output VGA1 --auto fi 这样可行.现在我想让它自动触发,并发现这可以用udev完成. udevadm monitor 当插入外部显示输出时 KERNEL[465828.240250] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm) UDEV [465828.243549] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm) 插上电源时 KERNEL[465836.844209] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm) UDEV [465836.847445] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm) 也不错. 然后我添加了一个udev规则: # cat 40-external-display.rules SUBSYSTEM=="drm",ACTION=="change",RUN+="/home/didi/bin/monitor_autoswitcher.sh" 并重新启动udev service udev restart 不幸的是,插入/拔出显示器时仍然没有任何反应.脚本monitor_autoswitcher.sh肯定有效,因为在插入后手动调用它会做它应该做的事情. 少了什么东西? 解决方法
这看起来几乎是一回事.我看到的唯一真正的区别是脚本设置了DISPLAY变量,这可能是关键.
http://ruedigergad.com/2012/01/28/hotplug-an-external-screen-to-your-laptop-on-linux/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |