Gnome shell 无法保存屏幕分辨率

Gnome shell 无法保存屏幕分辨率

今天我决定在 Ubuntu 14.04 上尝试 Gnome shell 3.10,我发现每次重启后我的屏幕分辨率都会设置为最大值,这是不理想的。在 Unity 中我没有遇到这样的问题。此外,如果我尝试使用 nvidia-settings 更改分辨率,我会收到此错误:

ERROR: Error querying target relations


(nvidia-settings:31370): IBUS-WARNING **: The owner of /home/alen/.config/ibus/bus is not root!
The program 'nvidia-settings' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 544 error_code 2 request_code 157 minor_code 25)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

显卡:GeForce 6100 nForce 420/集成/SSE2/3DNOW!

有没有什么办法可以解决这个问题?

答案1

可能的原因

我假设您的显示器报告高屏幕分辨率是首选;不幸的是,GNOME Shell 每次登录时都会使用此信息来重置分辨率。

怎么修

我遇到了相反的问题:我的显示器报告的首选屏幕分辨率(1280x1024)低于我想要使用的分辨率(1600x1200)。不过,我使用的修复方法希望可以类似地适用于您的问题。以下是我所做的:

我运行程序xrandr -q来查找当前首选的屏幕分辨率以及可用的其他屏幕分辨率(或者更确切地说是“模式行”)。在输出中,标有 a 的模式行+是当前首选的模式行。它还与当前使用的模式行(标有 a *)匹配。以下是我的输出(缩写):

Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 8192 x 8192
DVI-0 disconnected (normal left inverted right x axis y axis)
DIN disconnected (normal left inverted right x axis y axis)
DVI-1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 352mm x 264mm
   1280x1024      85.0*+   75.0     60.0  
   1920x1440      60.0  
   1600x1200      85.0     75.0     70.0     65.0     60.0  

/etc/X11/xorg.conf为了覆盖首选的屏幕分辨率,我创建了包含以下内容的文件:

Section "Monitor"
    Identifier "DVI-1"
    Option "PreferredMode" "1600x1200"
EndSection

如您所见,我从输出中获取了监视器标识符DVI-1和新的首选模式线路名称。您应该根据自己的设置替换这些值。1600x1200xrandr -q

注销(或重启)后,新的首选模式行将自动用于我的显示管理器和 GNOME Shell。新的(缩写)输出xrandr -q如下:

Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 8192 x 8192
DVI-0 disconnected (normal left inverted right x axis y axis)
DIN disconnected (normal left inverted right x axis y axis)
DVI-1 connected primary 1600x1200+0+0 (normal left inverted right x axis y axis) 352mm x 264mm
   1600x1200      85.0*+   75.0     70.0     65.0     60.0  
   1280x1024      85.0 +   75.0     60.0  
   1920x1440      60.0  

答案2

对于遇到同样问题的人来说,这是一个替代方案。

“~/.config”文件夹中有一个名为“monitors.xml”的文件。该文件在我的系统上是写保护的,所以您可能需要 sudo。

请备份此文件。

将文件中指定的分辨率修改为您所需的分辨率。保存。

之后只需使用 alt+f2 r 重新启动 Shell。屏幕分辨率将更改为文件中指定的分辨率。

就我而言,它甚至在重新启动后仍能工作,现在我不需要在登录后使用脚本来修复分辨率。

相关内容