我有一台运行Ubuntu的笔记本电脑,当我在办公室时我连接了外接显示器。通常这需要我运行 xrandr --auto ,以便笔记本电脑重新调整显示大小以匹配外部显示器。如果这可以自动完成,或者在连接监视器时触发,那将是很好的,但是当笔记本电脑从挂起/休眠状态唤醒时,实际运行 xrandr --auto 就足够了。

我创建了一个包含该行的脚本 /etc/pm/sleep.d/00xrandr.sh

xrandr --auto

但由于脚本无权访问X显示,因此失败。

有什么想法吗?

有帮助吗?

解决方案

我猜问题是脚本以root身份运行,无法访问您的xauth数据。根据您的设置,这样的事情可能会起作用:

xauth merge /home/your_username/.Xauthority
export DISPLAY=:0.0
xrandr --auto

如果需要,您可以使用更聪明的东西找出需要从哪个用户提取xauth数据。

其他提示

您是否尝试正确设置脚本中的DISPLAY变量,并授予其他用户使用xhost + localhost访问您的DISPLAY的权限?不知道这是否有帮助,但值得一试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top