关闭盖子时禁用显示器重新配置

我经常需要将笔记本电脑从一个工作地点移到另一个工作地点。 当我这样做时,Ubuntu会通过更改监视器设置来响应两个事件:

  • 卸下/连接VGA电缆
  • 关闭/打开笔记本电脑的盖子

虽然移除VGA线缆可以满足我的需求(如果连接,单屏幕,外部屏幕上的最高原始分辨率;否则笔记本电脑的分辨率最高),笔记本电脑关闭/打开盖子响应不太好。

每次我关闭或打开盖子时,Ubuntu都会重新配置显示器设置。 当我现在关闭盖子时……屏幕变黑并持续几秒钟,然后切换到克隆,我的笔记本电脑屏幕被禁用。 重新打开…会短暂地显示黑屏,然后将外部显示器用作桌面扩展。

更新:事情最近发生了一些变化,现在行为更加可预测。 关闭盖子切换到单显示器,打开到双屏幕(不是克隆)。 我的问题仍然准确:见下文。

Ubuntu认为太多了。 我的第一个也是最重要的问题: 有没有办法让Ubuntu忽略盖子关闭事件?

理想情况下(或当无法解决上述问题时)我想改变它处理屏幕重新配置的方式。 为什么Ubuntu在外部,克隆和单一显示之间切换屏幕配置? 我不能只将其配置为在单屏模式下始终使用外接显示器(如果存在)吗?

请注意,之前已经提出了类似的问题(最值得注意的是这个问题 ),但这些问题可能已被错误地关闭。

任何想法都非常受欢迎,我不介意玩一下看看是否有效。

有没有办法让Ubuntu忽略盖子关闭事件?

Lid事件由/etc/acpi/events/lidbtn文件触发,该文件包含两个活动行:

 event =按钮[/]盖子
 action = / etc / acpi / lid.sh  - 在开头注释#

您可以通过用#注释掉第二行然后重新启动来忽略盖子打开/关闭事件。

我想改变它处理屏幕重新配置的方式。

您可以查看并尝试修改文件/etc/acpi/lid.sh及其引用的函数/命令。

但是(BIG CAVEAT):如果您的笔记本电脑BIOS使用盖子关闭/打开来打开/关闭内部/外部video输出端口,那么这超出了OS ACPI事件处理程序的function。

此行为是Gnomefunction,它由dconf设置控制。 您可以通过dconf-editor或直接使用命令行进行更改:

 gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup  

描述如下:

摘要:是否在引导后关闭特定的监视器

‘clone’将在所有显示器上显示相同的内容,’dock’将关闭内部显示器,’do-nothing’将使用默认的Xorg行为(在最新版本中扩展桌面)。 默认情况下,“跟随盖子”将在“无所事事”和“停靠”之间进行选择,具体取决于盖子(分别)是打开还是关闭。

因此,如果您在连接时只想使用外接显示器,请使用dock作为

如果您希望两台显示器始终工作,无论盖子是否关闭,请使用do-nothing 。 (我经常暂时关上盖子,这样它就不会照进我的黑暗房间,我不想让所有的窗户都移植到外接显示器上。)

最后,如果您想使用笔记本电脑屏幕,但只有在打开时,请使用follow-lid 。 (使用案例:桌面上的可用空间量各不相同,有时您必须将笔记本电脑放在显示器后面而不是旁边。)

我不能只将其配置为在单屏模式下始终使用外接显示器(如果存在)吗?

我可以回答这一部分。 我在路上跑了ubuntu 17.10。 在gnome-control-center -> device -> display ,您可以选择single display $external_monitor single display ,然后单击“apply”。 这会生成$HOME/.confg/monitors.xml文件。 该文件在连接相同的$external_monitor时修复显示arragemment,并在内部监视器断开后切换。 更好的是,您可以将相同的/var/lib/gdm3/.config/放在/var/lib/gdm3/.config/ ,在这种情况下,同样的事情也适用于GDM。