Оболочка гнома не может сохранить разрешение экрана
Сегодня я решил попробовать Gnome shell 3.10 на Ubuntu 14.04 и заметил, что после каждого перезапуска мое разрешение экрана устанавливается на максимум, что нежелательно. В 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
выяснить, какое текущее предпочтительное разрешение экрана и какие другие разрешения экрана (или, скорее, "строки режима") доступны. На выходе строка режима, помеченная +
текущий преферентированный. Он также соответствует используемому в настоящее время (отмечен *
). Вот вывод для меня (сокращенно):
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
…
Это альтернатива для тех, у кого такая же проблема.
В папке "~/.config" находится файл с именем "monitors.xml". Файл защищен от записи в моей системе, поэтому вам может потребоваться sudo.
Сделайте резервную копию этого файла.
Измените разрешение, указанное в файле, на желаемое. Сохранить.
После этого просто перезапустите Shell с помощью alt + f2 r. Экран изменит разрешение на указанное в файле.
В моем случае это работает даже после перезагрузки, и теперь мне не нужно использовать скрипт для исправления разрешения после входа в систему.