Вопрос или проблема
С момента обновления до 24.10 на моем экране входа мигает, в основном выключен на длительные промежутки времени, а когда он включен, то едва ли сохраняется дольше секунды.
Иногда я получаю сообщение на черном экране с надписью вне диапазона
.
Я все еще могу войти, вводя свой пароль, к счастью, фокус автоматически устанавливается на поле для ввода пароля, и как только я попадаю на рабочий стол, все в порядке.
Есть идеи, как я могу стабилизировать мой менеджер входа или это известная нефиксируемая ошибка на данный момент?
Так что это мое окончательное решение, хотя я не хочу, чтобы оно таким было, потому что чувствую, что его могут перезаписать при любом обновлении системы пакета sddm или связанного процесса загрузки.
Я провел последние два дня, пытаясь найти лучшее решение, но ничего не сработало.
Мое решение состоит в том, чтобы переопределить разрешение и частоту обновления для монитора в конфигурации sddm, как предложил @Saxtheowl, что я сделал, переопределив DisplayCommand
с помощью xrandr в /etc/sddm.conf.d/sddm.conf
.
Но именно здесь я чувствую, что мое решение может быть перезаписано при обновлении системы, так как это файл, установленный системой.
Поэтому я искал удобный способ внесения локальных изменений, но ничего не срабатывало.
Я нашел пост на форуме Manjaro https://forum.manjaro.org/t/sddm-is-not-respecting-resolution/145706/5, где предлагалось поместить переопределение DisplayCommand
в /etc/sddm.conf.d/00-display-command.conf
Но этот файл не работает, так что предполагая, что они были на правильном пути, и зная, что многие другие приложения в Linux используют директорию конфигурации для локальных изменений конфигурации, я обратился к исходному коду sddm, который конкретно говорит
void ConfigBase::load() { //порядок приоритета от наименьшего влияния к наибольшему влиянию // * m_sysConfigDir (системные настройки /usr/lib/sddm/sddm.conf.d/) в алфавитном порядке // * m_configDir (пользовательские настройки в /etc/sddm.conf.d/) в алфавитном порядке // * m_path (классическое резервное копирование /etc/sddm.conf)
В моей системе Kubuntu m_sysConfigDir
не существует, так что я должен предположить, что m_configDir
– это тот, который используется, и, судя по всему, это правда, так как изменение DisplayCommand
в sddm.conf
в этой директории действительно изменяет приветствие sddm.
Файл ConfigReader.cpp
в sddm, похоже, загружает все файлы binnen m_configDir
в список, а затем извлекает директивы конфигурации из файлов в указанном порядке, поэтому, похоже, что директивы, найденные в файлах, отсортированных по алфавиту позже, будут финальными директивами для конфигурирования sddm, но это просто не работает для меня.
Я пробовал предложенные 00-display-command.conf и sddm_user_override.conf, но ни один из файлов не сработал, так что, поскольку у меня нет времени, чтобы собрать локальную копию sddm и пройти через обширную отладку, чтобы выяснить, что он делает, я не имею другого выбора, кроме как переопределить стандартный DisplayCommand
в /etc/sddm.conf.d/sddm.conf
- DisplayCommand=/usr/share/sddm/scripts/Xsetup
на
- DisplayCommand=xrandr –output DP-2 –mode 2560×1440 –rate 143.86
–primary –output DP-0 –mode 1920×1080 –rate 144.00 –right-of DP-2
И надеюсь, что это не будет перезаписано при обновлении системы.
Мое элементарное понимание синтаксиса оболочки говорит, что все, что делает /usr/share/sddm/scripts/Xsetup, это попытка найти ваши дисплеи с помощью xrandr и упорядочить их положение и, возможно, сделать что-то с разрешением, но так как я делаю все это вручную с помощью xrandr, это должно быть нормально, чтобы обойти его, и моя система определенно загружается на приветствие без проблем сейчас.
Ответ или решение
Проблема с экраном входа в систему в Kubuntu 24.10: Модификация конфигурации SDDM
При обновлении до Kubuntu 24.10 многие пользователи столкнулись с раздражающей проблемой: экран входа в систему (SDDM) начинает мигать и часто полностью отключается. Ваша ситуация, когда экран в основном остается черным с сообщением "out of range", указывает, что проблема может быть связана с несоответствием разрешения или частоты обновления монитора, установленными в конфигурации дисплея.
Анализ проблемы
Вы описали, что, несмотря на проблемы с экраном входа, вы можете успешно войти в систему, так как фокус остается на поле ввода пароля. Это свидетельствует о том, что программное обеспечение SDDM работает, но, скорее всего, не может корректно определить настройки вашего дисплея. Часто такие проблемы возникают после обновлений, когда настройки конфигурации могут сбиться или не соответствовать оборудованию.
После двухдневного поиска решения вы нашли способ переопределения разрешения и частоты обновления в конфигурационном файле SDDM, и хотя это решение временное, оно может быть подвержено перезаписи при обновлении системных пакетов.
Проблема с конфигурацией SDDM
Ваше решение заключается в изменении параметра DisplayCommand
в /etc/sddm.conf.d/sddm.conf
, чтобы установить правильные значения для xrandr
. Тем не менее, вы правильно обратили внимание на то, что обновления могут перезаписывать эти изменения, что вызывает неуверенность в стабильности вашего решения.
В вашей ситуации вы пытались создать файл конфигурации 00-display-command.conf
, однако он не сработал. Это может случиться, если SDDM не обрабатывает эти файлы так, как ожидалось. Из анализа кода SDDM видно, что система при загрузке конфигураций учитывает иерархию файлов, и последующие изменения в файлах имеют приоритет.
Предложение нового подхода
Рекомендуемая практика: Чтобы избежать перезаписи вашей конфигурации при обновлениях, можно создать пользовательский скрипт и указать его в качестве DisplayCommand
. Вот как это осуществить:
-
Создайте скрипт, который будет содержать ваши параметры
xrandr
. Например, создайте файл/usr/local/bin/custom_sddm_setup.sh
.#!/bin/bash /usr/bin/xrandr --output DP-2 --mode 2560x1440 --rate 143.86 --primary \ --output DP-0 --mode 1920x1080 --rate 144.00 --right-of DP-2
-
Сделайте его исполняемым:
sudo chmod +x /usr/local/bin/custom_sddm_setup.sh
-
Затем, измените файл конфигурации
/etc/sddm.conf.d/sddm.conf
, добавив следующую строку:DisplayCommand=/usr/local/bin/custom_sddm_setup.sh
Таким образом, ваше решение о настройках дисплея будет вынесено в отдельный скрипт, который вы сможете контролировать. Теперь, даже если обновления изменения в стандартном sddm.conf
не затронут, вы всегда сможете редактировать свой пользовательский скрипт.
Заключение
Проблемы с экраном входа в систему могут быть сложными, особенно после обновлений. Правильная настройка разрешения и частоты обновления дисплея в Kubuntu 24.10 посредством SDDM требует тщательного подхода и готовности адаптироваться к изменениям. Реализация описанных шагов позволит вам стабилизировать работу вашего входного экрана и, по возможности, избежать проблем, связанных с обновлениями системы в будущем. Не стесняйтесь делиться своим опытом в сообществах, так как это может помочь другим пользователям, столкнувшимся с аналогичными проблемами.