今天我决定在 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
和新的首选模式线路名称。您应该根据自己的设置替换这些值。1600x1200
xrandr -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。屏幕分辨率将更改为文件中指定的分辨率。
就我而言,它甚至在重新启动后仍能工作,现在我不需要在登录后使用脚本来修复分辨率。