在 Linux Mint 上关闭 DP 监视器时停止更改显示设置

And*_*lan 9 xorg nvidia linux-mint displayport

我使用 Nvidia 的专有驱动程序运行 Linux Mint Cinnamon 18.3。自动显示检测非常适合设置(比过去更容易!)但是由于 DisplayPort 在关闭时断开显示器,它会在我的 3 显示器设置上移动我的窗口。

有什么方法可以对当前检测到的配置进行快照并将其锁定在 xorg 中以停止更改和移动我的窗口?

或者,有没有办法告诉专有驱动程序忽略显示器的电源状态?我不知道 DP 协议的细节,所以不确定这是否是一个问题。

我不得不为我的显示器禁用 DPMS/睡眠模式,因为它在恢复时一直崩溃,所以我唯一的另一个选择是让我的显示器一直开着,这会浪费很多电量。

很高兴分享任何配置等,但由于它都是自动检测到的,我不确定这会有多大帮助。

小智 8

在大多数情况下,RandR 扩展用于配置显示设置。因此,我将在这个答案中重点关注它。因此,如果您使用的是 Wayland 未启用DRM(直接渲染管理器)内核模式设置或禁用 RandR 扩展的专有 NVIDIA 驱动程序),则此答案可能不适用。如果是这样,调用xrandr应该会导致错误,而不是打印当前的显示配置。

虽然xrandr拔下显示器不会更改显示配置,但您的桌面环境会这样做。从技术上讲,桌面环境正在实现一个 xrandr 客户端,该客户端XRRScreenChangeNotify在显示器断开连接时处理事件并更新您的显示配置。

根据您使用的桌面环境,您可以禁用此行为:

侏儒直到 3.1.3

gsettings set org.gnome.settings-daemon.plugins.xrandr active false
Run Code Online (Sandbox Code Playgroud)

此选项将在较新版本中删除。现在似乎由 Mutter 处理。

肉桂

复制/etc/xdg/autostart/cinnamon-settings-daemon-xrandr.desktop$HOME/.config/autostart. 然后将该行附加Hidden=true到复制的文件中。

3.4 之前的肉桂

gsettings set org.cinnamon.settings-daemon.plugins.xrandr active false
Run Code Online (Sandbox Code Playgroud)

伴侣桌面

gsettings set org.mate.settings-daemon.plugins.xrandr active false
Run Code Online (Sandbox Code Playgroud)

凯德

kscreen正在管理 KDE Plasma 5 桌面中的显示设置。似乎无法通过配置设置禁用自动插入行为。但是,您可以终止负责它的守护进程,/usr/lib/kf5/kscreen_backend_launcher以防止对您的显示配置进行任何进一步更改。注意:当您启动 KDE 显示设置时,守护程序将重新启动。