17.04 Отображение масштабирования возвращается к 1 после возобновления из режима ожидания?

9

Недавно я сделал чистую установку 17.04 на машине с картой Nvidia 750Ti и монитором Dell 4K. Я использую двоичный драйвер Nvidia 381.09.

Все это прекрасно работает, за исключением того факта, что масштаб отображения, который я установил в настройках экрана дисплея Ubuntu, всегда возвращается к 1, когда машина возобновляет работу после приостановки. Мне нужно установить его на 1,5, иначе все становится крошечным (кстати, почему Ubuntu не масштабируется до разумного значения по умолчанию с мониторами 4K?)

Кто-нибудь еще получает это? Я не могу найти упоминания об этом в другом месте.

Кстати, я попробовал драйвер Nouveau, и он не просыпается мой экран вообще после приостановки. Так что этот маршрут не стартер.


Изменить: Похоже, что это было подтверждено как ошибка здесь. Будет контролировать, если что-нибудь случится.

TommyPeanuts
источник
Я использую Intel Integrated GFX и заметил ту же ошибку.
Грег Дан
Кто-нибудь знает обходной путь? Это крайне раздражающая ошибка. Похоже, ошибка затрагивает всех пользователей 17.04 с экранами HiDPI.
Грег Дан
Похоже, ошибка не будет исправлена. Единство удаляется с 17.10. И 16.04 и 16.10 не имеют этой ошибки.
Грег Дан
Увы, 17.10 по-прежнему делает это в моей системе, и, что еще хуже, он позволяет изменять масштабирование только при 100% скачках, поэтому вам придется либо жить с крошечным, либо с массивным переходом. Похоже, Ubuntu вообще не может корректно и последовательно работать с экранами HDPI, и с каждым выпуском ситуация ухудшается. Сейчас я понижен до 16.04.3, который по крайней мере обрабатывает дробное масштабирование.
TommyPeanuts

Ответы:

3

Для всех остальных, кто разочарован этой ошибкой, вот быстрый скрипт на perl, который отслеживает изменения в значении scale_factor и сбрасывает его до того значения, которое было при первом запуске скрипта:

#! / usr / bin / perl -w
использовать строгое;

my $ dconf_line = `dconf read / com / ubuntu / user-interface / scale-factor`;
my ($ scale_factor) = $ dconf_line = ~ m / DP1 \ ': (\ d +) /;

if ($ scale_factor) {
    печать STDOUT "Текущее значение scale_factor: $ scale_factor ... \ n \ n";
} еще {
    die "Ошибка: невозможно найти значение scale_factor в dconf \ n (значение / com / ubuntu / пользовательский интерфейс / scale-factor было $ dconf_line \ n \ n";
}

open (my $ fh, "- |", "dconf watch / com / ubuntu / user-interface / scale-factor");

while (<$ fh>) {
    if (m / DP1 \ ': (?! $ scale_factor) /) {
        `dconf write / com / ubuntu / пользовательский интерфейс / scale-factor" {'DP1': $ scale_factor} "`;
        мой $ date = `date`;
        вывести STDOUT "$ date - коэффициент масштабирования скорректирован \ n \ n";
    }
}

Просто оставьте скрипт запущенным, и он будет перехватывать и сбрасывать любые попытки изменить значение.

17.04 у меня работает с Unity, но возможно, что при переключении на gnome в 17.10 значение будет сохранено в другом ключе реестра dconf - если это так, просто замените все экземпляры расположения ключа в скрипте на соответствующий и он должен работать.

Надеюсь это поможет ...

owenjm
источник
Очень полезный. Для 16.04 LTS (с картой Nvidia) мне пришлось изменить строки 5, 16 и 17 с DP1на DP-2..
david6
Теперь есть PPA с соответствующим исправлением: launchpad.net/~arter97/+archive/ubuntu/unity
Elliott Slaughter