lightdm 不运行 display-setup-script 脚本

Sha*_*ade 10 lightdm

为了解决双显示器分辨率问题,我遵循了此处与会话和显示设置脚本相关的其他问题中的建议。我有以下几点/etc/lightdm/lightdm.conf

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false
display-setup-script=/usr/bin/dualmon.sh
session-setup-script=/usr/bin/dualmon.sh
Run Code Online (Sandbox Code Playgroud)

我还/usr/bin/dualmon.sh创建了以下(可执行文件):

#!/bin/bash

xrandr --output LVDS1 --auto --left-of HDMI1 --output HDMI1 --auto
# notify-send Dualscreen activated

touch /home/shade/Desktop/touched
Run Code Online (Sandbox Code Playgroud)

但是,登录屏幕和登录后的分辨率都是错误的。此外,文件 /home/shade/Desktop/touched 也不存在。当我dualmon.sh手动运行脚本时(登录后),分辨率设置正确。

这让我认为脚本根本没有运行。这是什么原因,我该如何解决?

小智 1

使用 Ubuntu,让您的用户帐户拥有适合双显示器设置的正确分辨率的最佳方法如下:

  • 从〜/.config/删除monitors.xml
  • 系统设置中打开屏幕显示
  • 设置适当的屏幕设置(如果需要,请预先使用 XRandR 或 ARandR)
  • 然后是最重要的 - 点击“应用”

执行上述操作后,您会注意到 Monitors.xml 被重写,并且每当您登录时,双显示器设置都会起作用。

其次,要使登录屏幕正常工作,您需要遵循的过程就是这个答案。棘手的部分是确保您的权限正确 - 除了为符号链接设置正确的权限之外,您还需要确保其他人能够访问 drivers.xml 文件以及 ~/.config 文件夹。

这种设置的美妙之处在于,与尝试暴力破解某些 xrandr 命令相反,每当您在 Ubuntu 中更改分辨率/显示器设置时,您的登录屏幕都会随之更改。

为了使上述两者都起作用,您需要确保在启动时删除对 xrandr 命令的任何引用。