断开外接显示器时不更新显示设置

断开外接显示器时不更新显示设置

当我将显示器从笔记本电脑上断开时,Ubuntu 似乎仍认为它已插入,因此不会更新显示。此问题只存在于 Ubuntu 中(Windows 中不会发生),我的显示器在另一台笔记本电脑上工作正常(Ubuntu 13.04,驱动程序完全相同)。

快速修复:

  • 打开system settings
  • 点击Displays

有用的规格:

  • 图形驱动程序:nvidia-313(其他专有驱动程序也会出现问题)
  • 显卡: Nvidia Quadro K1000M
  • 监视器: 明基 ET-0019-N
  • 电缆: VGA D-sub DE15
  • 操作系统:Ubuntu 13.04

我希望 Ubuntu 在显示器电缆断开时自动更新显示设置。我该怎么做?

答案1

Launchpad 上有一个旧错误 -错误 #306735- 被标记为无效,解释是这是一个已知问题,但相当复杂(更多解释这里)。

据我所知,没有自动的方法。但你可以使用autorandr(你必须安装disper首先sudo apt-get install disper运行终端)脚本斯蒂芬·托曼尼克。使用此脚本 ( autorandr),您可以添加命令的键盘快捷键autorandr --change,连接或断开外部显示器时,您所要做的就是按下该键盘快捷键。所有这些都在这个答案(我刚刚在 Ubuntu 13.04 中测试过,一切顺利)。

在终端中测试脚本后,如果您想为脚本添加自定义键盘快捷键,则必须查看以下帖子:

答案2

如果您正在使用某种类型的 nvidia 专有驱动程序,那么,正如 Jorge 的回答中提到的那样,只需xrandr单独运行它似乎就可以解决问题。

答案3

来自NVIDIA 驱动程序 README 中的附录 B

Option "UseHotplugEvents" "boolean"

启用此选项后,当显示器插入或拔出 NVIDIA GPU 时,NVIDIA X 驱动程序将生成 RandR 显示更改事件。某些桌面环境将监听这些事件,并在添加或移除显示器时动态重新配置桌面。

禁用此选项可抑制非 DisplayPort 显示器(即通过 VGA、DVI 或 HDMI 连接的显示器)生成这些 RandR 事件。无法抑制通过 DisplayPort 连接的显示器的热插拔事件。

请注意,无论此选项是启用还是禁用,探测显示配置(例如使用 xrandr 或 nvidia-settings)都可能导致生成 RandR 显示更改事件。此外,某些 VGA 端口无法进行热插拔检测:在此类端口上,只能通过重新探测显示配置来检测显示器的添加或移除。

默认值:开启。当添加或移除显示器时,驱动程序将生成 RandR 事件。

因此,假设您没有禁用此选项,则问题将缩小为以下替代方案之一:

  • VGA 电缆或卡上的 VGA 连接器的一些 DDC 针脚损坏(针脚 12、针脚 15 或针脚 9)。请连接另一根 VGA 电缆并重试。

  • 您的 Nvidia Quadro K1000M 显卡有一个不支持此检测的连接器,并且调用xrandr或等效操作(如打开显示设置)会触发此检测。如果是这种情况,这将永远不会起作用 - 但检测在其他操作系统上也不应该起作用。不过,从未亲眼见过这种情况。

  • 或者 NVIDIA 驱动程序中存在一些错误,导致此检测无法正常工作。尝试其他驱动程序版本(例如 304),看看问题是否仍然存在。

相关内容