连接外部显示器时自动调整X11显示大小

4
我有一台运行Ubuntu系统的笔记本电脑,我在办公室时会连接外部显示器。通常情况下,我需要运行xrandr --auto命令,以便笔记本电脑能够重新调整显示大小以适应外部显示器。如果可以自动执行此操作,例如在连接显示器时触发,那将非常方便。但是,只要笔记本电脑从挂起/休眠中唤醒时运行xrandr --auto即可。
我创建了一个名为/etc/pm/sleep.d/00xrandr.sh的脚本,并包含以下代码:
xrandr --auto

但是,由于脚本无法访问X显示器,因此这将失败。

有什么想法吗?

2个回答

2

我猜问题在于脚本正在以root身份运行,无法访问您的xauth数据。根据您的设置,可以尝试以下操作:

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

如果需要,您可以使用更聪明的方法来找出需要从中提取xauth数据的用户。


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

我可能可以做到,但是我有点不愿意使用xhost来授予本地访问显示的权限。也许我过于多疑了。 - JesperE
是的,这更像是一种hack,但是如果有人已经登录到您的笔记本电脑上,我想您本来就有问题了。 - André

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接