linux– 为外部显示添加udev规则

linux– 为外部显示添加udev规则,第1张

概述我写了一个小的shell脚本,用xrandr配置连接的外部显示器.# cat /home/didi/bin/monitor_autoswitcher.sh #!/bin/bash xrandr | grep 'HDMI1 connected' if [[ $? == 0 ]]; then # is connected xrandr --outpu

我写了一个小的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 connected  xrandr --output HDMI1 --autofixrandr | grep "VGA1 connected"if [[ $? == 0 ]]; then  # is connected  xrandr --output VGA1 --right-of LVDS1 --autoelse  # not connected  xrandr --output VGA1 --autofi

这样可行.现在我想让它自动触发,并发现这可以用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/ 总结

以上是内存溢出为你收集整理的linux – 为外部显示添加udev规则全部内容,希望文章能够帮你解决linux – 为外部显示添加udev规则所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1046496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存