永久更改分辨率

永久更改分辨率

在分辨率出现恼人的错误后,我终于设法将其改回正常。但每次我重新启动笔记本电脑时,它都会将其改回“旧的”错误。所以我必须在终端中再次运行相同的命令才能将其改回正确的。

另一篇文章中有人提出了将命令放入启动应用程序的想法,但我似乎找不到启动应用程序。我正在运行 Lubuntu(Ubuntu 12.04),但我对它还不太了解。有人知道如何永久更改分辨率吗?

显卡:

xavier@Xavier:~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)

内存:

xavier@Xavier:~$ grep MemTotal /proc/meminfo
MemTotal:        4063044 kB

CPU 速度:

xavier@Xavier:~$ lscpu | grep "MHz"
CPU MHz:               1000.000

答案1

尝试创建一个 xorg.conf 文件...

sudo gedit /etc/X11/xorg.conf

在较新版本的 Ubuntu 上,不建议使用 来运行 GUI 应用程序sudo。而是使用

sudo touch /etc/X11/xorg.conf
gedit admin:/etc/X11/xorg.conf

然后xorg.conf根据您的首选分辨率编辑文件,保存、退出并重新启动。

xorg.conf您可以通过执行命令来获取文件的正确模式行cvt。在下面的示例中,使用的命令是

cvt 1280 1024 60.09

其中参数序列为

  • 所需的水平分辨率
  • 所需的垂直分辨率
  • 监视器的频率

参考这个答案了解如何cvt在将 Modeline 添加到xorg.conf文件之前使用和测试该命令。您还可以在以下位置获取更多信息:解决

这是一个示例 xorg.conf 文件。

Section "Monitor"
    Identifier  "Samsung SyncMaster 171N"
    Modeline    "1280x1024_60.09"  109.25  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    Option      "PreferredMode" "1280x1024_60.09"
EndSection

Section "Device"
    Identifier  "Intel"
    Driver      "intel"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Monitor     "Samsung SyncMaster 171N"
    Device      "Intel"
    Defaultdepth 24
    SubSection  "Display"
        Modes   "1280x1024_60.09"
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier  "Default Layout"
    Screen      "Default Screen"
EndSection

答案2

我不知道您如何设置所需的分辨率。但是如果您使用 arandr/xrandr 进行设置,则可以将设置保存在 中~/.xprofile。设置将在登录后应用。有关Ubuntu 维基百科

答案3

嗯,我想你使用的是 lxde 桌面(Lubuntu),但也许你使用的是 Unity 或 Metacity 或 Compiz(Ubuntu)。如果你使用的是 lxde,你可以在 14.04 中按以下方式添加启动项(可能在 12.04 中有效,但我从未使用过,抱歉):打开菜单(在 Ubuntu 中按超级 [windows] 键打开它),单击首选项 > LXSession 的默认应用程序,然后单击自动启动。你可以在输入字段中输入路径并按添加来添加启动项。

如果你还没有这样做,那么你可能需要:

  1. 打开终端:Ctrl++AltT

  2. 输入:

    cvt A B C
    

    (其中 A=屏幕的像素宽度,B=像素高度,C=刷新率(通常为 60,也是可选的))

  3. 然后输入:

    xrandr --newmode D
    

    (其中 D=Modeline 之后出现的所有内容)

  4. 然后输入:

    xrandr --addmode VGA1 A_B_C
    
  5. 最后:

    xrandr --output VGA1 --mode A_B_C
    

您的屏幕分辨率应该已修复。现在打开文本编辑器(gedit 或 leafpad)并输入以下几行:

cvt A B C
xrandr --newmode D
xrandr --addmode VGA1 A_B_C
xrandr --output VGA1 --mode A_B_C

将其保存为resolution.sh您想要的任何位置(/home/username/.config/autostart可能是个不错的位置)并将其标记为可执行文件。然后将其路径放入 LXSession 的默认应用程序的自动启动字段中,然后单击添加。不幸的是,这仅适用于个人帐户,对登录屏幕不起作用(我现在正在尝试寻找解决方案......)

答案4

对我而言唯一有效的方法是:

  1. 运行必要的命令以通过 cvt 和 xrandr 获取新模式,说明如下:https://wiki.ubuntu.com/X/Config/Resolution#Adding_undetected_resolutions
  2. 将它们粘贴到 .sh 文件中,例如 set_resolution.sh,例如它看起来像这样:

    #!/bin/sh
    xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
    xrandr --addmode HDMI-1 1920x1080_60.00
    xrandr --output HDMI-1 --mode 1920x1080_60.00
    
  3. 转到菜单 -> 首选项 -> LXSession 的默认应用程序 -> 核心应用程序,然后向下滚动到 Xrandr 白色块,它应该是空的,并添加您保存它的 .sh 文件的路径。

  4. 重启!

我在华硕的 TinkerBoard 上使用 LXDE9.0 和 Openbox。尝试修改 ~/.xprofile、/etc/xdg/lxsession 中的自动启动、Openbox 的自动启动、xinitrc,但对我而言,这些都不起作用。这仅适用于之前提到的会话,但它比使用 xorg.conf 文件(这是我没有尝试的最后一个选项)更快。

相关内容