欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

lightdm.conf编辑桌面屏幕分辨率?

程序员文章站 2022-03-05 09:13:17
...

把它

#!/bin/bash
xrandr -o left
exit 0

进入/etc/lightdm/greeter_setup.sh并添加该行

greeter-setup-script=/etc/lightdm/greeter_setup.sh

/etc/lightdm/lightdm.conf[SeatDefaults]科。

 

我想将桌面屏幕分辨率更改为1366x768。但我VESA drivers(AMD REDWOOD)没有发现那个决议。所以我创建了一个shell脚本如下: -

xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync  
xrandr --addmode DVI-0 1368x768_60.00  
xrandr --output DisplayPort-0 --off --output DVI-0 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output HDMI-0 --off

我保存它lightdmxrandr.sh/usr/bin和可执行做到了。然后我添加了以下几行/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf(相当于众所周知的/etc/lightdm/lightdm.conf。我正在使用上面的文件,因为我在14.04那里没有/etc/lightdm/lightdm.conf。): -

greeter-session=unity-greeter  
display-setup-script=/usr/bin/lightdmxrandr.sh  
session-setup-script=/usr/bin/lightdmxrandr.sh

并保存了它。理论上,这应该已经改变了登录屏幕分辨率和桌面屏幕分辨率1366x768。但令人惊讶的是,这只改变了登录屏幕分辨率。桌面分辨率未更改。后来我将脚本添加到启动应用程序,这改变了我的桌面分辨率。

所以我想知道为什么我对lightdm.conf文件(或者说50-ubuntu.conf文件)所做的编辑不会影响我的桌面分辨率。这是某种必须在启动板上报告的错误,还是说lightdm中的编辑会影响桌面屏幕?

PS: - 在我看来,这不仅仅是针对Ubuntu 14.04的。

 

 

我尝试了类似的事情,经过一些调试后我想我发现了什么。您的脚本可能运行,可能确实正确设置了分辨率。但是,由于它是由登录管理器运行的,因此它在Unity完成桌面环境设置之前运行,Unity会读取自己的设置并将分辨率重置为您拥有的分辨率。所以,我认为发生的事情是:

  1. lightdm正确运行你的脚本
  2. 这将设置您所需的分辨率
  3. Unity启动,读取其设置并恢复到您在那里的默认分辨率
  4. 你的决议可以追溯到以前的样子

现在,这是因为VESA驱动程序没有自动检测到您想要的分辨率。这意味着当您从Unity设置的“显示”部分更改分辨率时,除非您运行xrandr命令,否则您将获得一个不可用的分辨率。因此,下次重新启动时会忽略此值,Unity将恢复为默认分辨率。

因此,您需要做的是让Unity可以使用该分辨率,然后将其设置为默认值并让它处理它。为此,您必须先将此行添加到/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

session-setup-script=/usr/bin/lightdmxrandr.sh

然后,确保/usr/bin/lightdmxrandr.sh看起来像这样:

xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync  
xrandr --addmode DVI-0 1368x768_60.00  

请注意,我实际上并未设置分辨率,只是使其可用。完成此重新启动后,然后登录。现在,新的分辨率应该可以在Settings => Displays中使用。如果是这样,请在那里选择,注销并重新登录,并且应该正确设置分辨率。现在应该在重新启动后保持不变。


替代方法:

  1. 创建一个/etc/X11/xorg.conf列出所需分辨率文件。像这样的东西:

    Section "Monitor"
        Identifier    "Monitor0"
        Modeline "1368x768_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    EndSection
    
    Section "Screen"
        Identifier     "Screen0"
        Device         "Card0"
        Monitor        "Monitor0"
        SubSection "Display"
            Modes       "1368x768_60.00"
        EndSubSection
    EndSection
    
    Section "Device"
        Identifier    "Card0"
        Driver        "vesa"
    EndSection
    
  2. 将运行xrandr命令的脚本添加到会话的启动应用程序中。

分享改善这个答案

于2017年4月13日12:23编辑

lightdm.conf编辑桌面屏幕分辨率?

社区

1

于14年4月10日15:52 回答

lightdm.conf编辑桌面屏幕分辨率?

terdon 

61.3k12124204

  • 编辑/usr/share/lightdm/lightdm.conf.d/下的文件是改变lightdm.conf的错误方法。LightDM项目页面说系统管理员可以覆盖/etc/lightdm/lightdm.conf.d/或/etc/lightdm/lightdm.conf中的默认配置。您不应该编辑/ usr / share / lightdm /下的文件,因为它可能会工作一段时间它可能会被包更新覆盖来源:LightDM项目页面freedesktop.org/wiki/Software/LightDM 请更正你的答案 -  happyskeptic 2014年 9月29日在9:43 

  • 3

    我没有足够的声誉来添加简单的注释,但我想指出sh文件需要被赋予执行权限。OP提到他/她已经这样做了,但是terdon的回答没有包括在步骤中。如果它不可执行,那么你将不得不下载到命令提示符,因为它不会登录(至少它不适合我)。这对我来说是一个简单的疏忽,但万一其他人忽视了这一步,我想在此重申一

相关标签: debian