错误的登录屏幕分辨率

Rub*_*ker 46 lightdm display-resolution

在奇怪的情况下,通常在错误地重新启动计算机后,我的登录屏幕分辨率不是默认的 1440x900,但我认为是 1600x900。现在,我有这台显示器,它在处理它不适合处理的分辨率方面非常糟糕,并且会显示一个愚蠢的“错误分辨率”框在屏幕上跳来跳去。

无论如何,有没有办法让登录屏幕加载 1440x900 的分辨率?我正在使用 Unity 和 LightDM 运行 Ubuntu 11.10。

cap*_*n_G 46

您可以为此制作一个脚本(源LightDM 分辨率)。

  1. 首先,我们需要找出您的显示器标识符是什么。打开终端,开始输入terminal您的统一破折号以查看选项或按Ctrl+ Alt+T
  2. 键入/复制此命令以显示您的显示详细信息:

    xrandr -q
    
    Run Code Online (Sandbox Code Playgroud)

    如果您只有一个监视器,您将在输出中看到如下一行(可能有一些不同的值,它是我们所追求的开始时的标识符):

    DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
    
    Run Code Online (Sandbox Code Playgroud)

    在这种情况下,屏幕标识符是 DVI-0

  3. 打开你最喜欢的文本编辑器,让我们在这个例子中使用 gedit,按Alt+F2并输入gedit

  4. 输入/复制到:

    #!/bin/sh
    xrandr --output DVI-0 --primary --mode 1440x900
    
    Run Code Online (Sandbox Code Playgroud)

    将此保存在您的桌面上 lightdmxrandr.sh

  5. 在我们将其付诸实践之前,您可能想要测试该脚本。回到终端导航到我们刚刚保存它的位置:

    cd ~/Desktop
    
    Run Code Online (Sandbox Code Playgroud)

    现在我们需要让它可执行:

    chmod a+rx lightdmxrandr.sh
    
    Run Code Online (Sandbox Code Playgroud)

    现在运行它:

    ./lightdmxrandr.sh
    
    Run Code Online (Sandbox Code Playgroud)

    (如果您的屏幕在登录后自动自动更正,您可能看不到差异,因此您可能想要使用不同的测试分辨率,但您知道在测试时有效)

  6. 现在让我们移动我们制作的小脚本:

    sudo mv ~/Desktop/lightdmxrandr.sh /usr/share/.
    
    Run Code Online (Sandbox Code Playgroud)

    如果您不使用,sudo您可能会收到权限错误(我出于个人喜好使用此文件夹)

  7. 我们现在需要在 lightdm 中运行它,导航到正确的文件夹:

    cd /etc/lightdm
    
    Run Code Online (Sandbox Code Playgroud)
  8. 打开 lightdm conf 文件:

    sudo gedit lightdm.conf
    
    Run Code Online (Sandbox Code Playgroud)
  9. 现在在最后一行之后添加运行脚本的指令并保存:

    display-setup-script=/usr/share/lightdmxrandr.sh
    
    Run Code Online (Sandbox Code Playgroud)

现在重新启动,这应该在您的 lightdm 登录屏幕上设置正确的分辨率。

(这些说明可能看起来很长,但它们根本不需要很长时间)


Tob*_*old 40

我找到了一个非常简单的解决方法,非常适合我运行 13.04。(更新:现在 13.10)在带有未永久连接的 24" 外部屏幕的笔记本电脑上。

我只是从这里复制

  1. 登录
  2. 使用 xrandr 或 Displays 控制实用程序来配置您的显示器,您希望它们在登录屏幕中的配置方式
  3. 将 ~/.config/monitors.xml 复制到 /var/lib/lightdm/.config

因为我已经正确配置了我的显示器,所以我只需要执行第 3 步。

此处给出的其他一些答案对我有用,但仅适用于特定场景,而在其他场景中存在系统无法使用的风险(低图形模式错误)。例如,永久连接外部监视器(@captain_G 接受的答案)或始终连接到用于外部监视器的输出的相同设备(@Axlrod 的脚本)。似乎@MarcoV 的答案是最通用的解决方案,但它仍然涉及脚本规则。

  • 比其他答案简单得多......我想知道为什么它没有更多选票。嗯,它有我的。 (4认同)
  • 哪个应用程序写入/更新`monitors.xml`?我正在使用 XFCE,这个文件已经有 2 年了,已经完全过时了。我找不到类似的文件。 (4认同)
  • 与其复制文件,不如创建一个指向它的链接,以便在您更改屏幕设置时自动更新它:`$ sudo ln ~/.config/monitors.xml /var/lib/lightdm/.config/monitors.xml`(不,符号链接不起作用。) (3认同)

小智 20

您可以不创建脚本,而只需在文件中添加如下/etc/lightdm/lightdm.conf一行:

display-setup-script=xrandr --output default --mode 1280x720
Run Code Online (Sandbox Code Playgroud)

在插入之前确保该命令有效,因为如果命令错误,lightdm 将无法启动。


小智 6

sudo gedit /usr/share/X11/xorg.conf.d/52-myres.conf
Run Code Online (Sandbox Code Playgroud)

然后在文件中:

Section "Monitor"
    Identifier "VGA1"
    Option "PreferredMode" "1152x864"
EndSection
Run Code Online (Sandbox Code Playgroud)

保存并退出。这些值是从命令获得的xrandr -qVGA1是我的连接器的名称,1152x864也是分辨率的名称。

这适用于 Xubuntu 16.04。它设置了首选分辨率,对我来说,它让我设置登录屏幕的分辨率,而不是将其默认为支持的最高分辨率。

根据此处的答案修改