SDDM (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи SDDM. Дата последней синхронизации: 31 марта 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Simple Desktop Display Manager (SDDM) – предпочтительный экранный менеджер для KDE Plasma.

Из Википедии:

Simple Desktop Display Manager (SDDM) — это дисплейный менеджер (программа для графического экрана входа) для X11. SDDM был написан с нуля на языке C++11 и поддерживает установку тем через QML. SDDM является заменой устаревшему KDE Display Manager и интегрируется в KDE Frameworks 5, KDE Plasma 5 и KDE Applications 5.
Примечание: Протокол Wayland поддерживается не полностью [1]. Сеансы Wayland отображаются в списке, но сам SDDM использует X11.

Установка

Установите пакет sddm. Опционально установите пакет sddm-kcm для использования модуля KCM.

Теперь следуйте инструкциям из раздела Экранный менеджер#Запуск экранного менеджера, чтобы запускать SDDM при загрузке.

Настройка

Настройки SDDM по умолчанию хранятся в файле /usr/lib/sddm/sddm.conf.d/default.conf. Для каких-либо изменений создайте конфигурационный файл(ы) в директории /etc/sddm.conf.d/. Для получения полного списка настроек смотрите страницу справочного руководства sddm.conf(5).

Пакет sddm-kcm (входящий в группу plasma) предлагает графический интерфейс для конфигурации SDDM в Параметрах системы KDE Plasma. Также в AUR (Русский) доступен редактор настроек sddm-config-editor-gitAUR на основе Qt (Русский).

Всё должно работать "из коробки", так как Arch Linux использует systemd (Русский) и SDDM по умолчанию использует systemd-logind для управления сессиями.

Автоматический вход в систему

SDDM поддерживает автоматический вход. Для этого настройте конфигурационный файл, например:

/etc/sddm.conf.d/autologin.conf
[Autologin]
User=ivan
Session=plasma.desktop

Эта конфигурация позволит автоматически запускать KDE Plasma для пользователя ivan при загрузке системы. Все доступные сеансы доступны в директории /usr/share/xsessions/ (для Xorg) и /usr/share/wayland-sessions/ (для Wayland).

Также недоступна возможность автоматического входа в KDE Plasma с одновременной блокировкой сеанса [2].

Вы можете добавить скрипт, который активирует скринсейвер KDE при автозапуске в качестве обходного пути:

#!/bin/sh
/usr/bin/dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock &

Автоматическая разблокировка KDE Wallet при входе в систему

Смотрите KDE Wallet#Unlock KDE Wallet automatically on login.

Настройки темы

Настройки темы могут быть изменены в секции [Theme]. Также можно увидеть предпросмотр тем, если вы используете приложение Параметры системы в KDE Plasma.

Задайте значение breeze для стандартной темы KDE Plasma.

Также некоторые темы доступны в AUR (Русский), например, archlinux-themes-sddmAUR.

Текущая тема

Установите текущую тему с помощью значения Current, например, Current=archlinux-simplyblack.

Редактирование тем

Каталогом тем для SDDM по умолчанию является /usr/share/sddm/themes/. Вы можете добавить свои собственные темы в отдельный подкаталог этой директории. Заметьте, что названия подкаталогов должны совпадать с названием самой темы. Изучите установленные файлы для их изменения или создания собственной темы.

Тестирование (предпросмотр) темы

В случае необходимости, вы можете предварительно просматривать тему SDDM. Это особенно полезно в случае, когда вы не уверены в том, как тема будет смотреться (в частности, после её редактирования) без необходимости выхода из аккаунта. Вы можете выполнить команду вроде следующей:

$ sddm-greeter --test-mode --theme /usr/share/sddm/themes/breeze

Эта команда откроет новое окно для каждого подключённого монитора с предварительным просмотром темы.

Примечание: Это лишь предварительный просмотр. В этом режиме не работают некоторые функции, например, выключение, переход в режим сна или вход в систему.

Курсор мыши

Чтобы задать тему для курсора мыши, установите CursorTheme на предпочитаемую вами тему курсора.

Допустимыми значениями для Plasma (Русский) являются breeze_cursors, Breeze_Snow и breeze-dark.

Аватар пользователя

SDDM считывает иконку пользователя (аватар) как изображение PNG ~/.face.icon для каждого пользователя. Также можно задать единую директорию для аватаров всех пользователей используя переменную FacesDir в файле конфигурации SDDM. Данный файл должен располагаться в /etc/sddm.conf или, лучше, в /etc/sddm.conf.d/, например, /etc/sddm.conf.d/avatar.conf.

Для использования функции FacesDir, разместите изображение PNG под названием username.face.icon в директории, указанной параметром FacesDir в файле конфигурации. По умолчанию используется директория /usr/share/sddm/faces/. Вы можете изменить стандартное значение FacesDir, например:

/etc/sddm.conf.d/avatar.conf
[Theme]
FacesDir=/var/lib/AccountsService/icons/

Также можно разместить PNG-изображение под названием .face.icon в корне вашей домашней директории. В таком случае не потребуется вносить какие-либо изменения в файл конфигурации SDDM. Тем не менее, вам нужно убедиться, что пользователь sddm имеет права на чтение аватаров.

Примечание: Во многих версиях KDE аватаром пользователя являются файлы ~/.face и ~/.face.icon (символическая ссылка на первый файл). Если аватары пользователя – это символические ссылки, вам потребуется задать корректные права доступа к исходному файлу.

Для задания корректных прав, выполните следующую команду:

$ setfacl -m u:sddm:x ~/
$ setfacl -m u:sddm:r ~/.face.icon

Вы можете проверить права с помощью данной команды:

$ getfacl ~/
$ getfacl ~/.face.icon

Смотрите также: SDDM README: No User Icon.

Numlock

Если вы хотите, чтобы Numlock автоматически включался, пропишите Numlock=on в секции [General].

Поворот экрана

Смотрите Xrandr#Configuration.

Настройки DPI

Иногда требуется задать корректные настройки PPI монитора на уровне экранного менеджера. [3] Для этого нужно добавить параметр -dpi ваш_dpi в конце строки ServerArguments.

Например:

/etc/sddm.conf.d/dpi.conf
[X11]
ServerArguments=-nolisten tcp -dpi 94

Включение HiDPI

Создайте следующий файл:

/etc/sddm.conf.d/hidpi.conf
[Wayland]
EnableHiDPI=true

[X11]
EnableHiDPI=true

Включение виртуальной клавиатуры

Установите пакет qt5-virtualkeyboard.

Создайте следующий файл:

/etc/sddm.conf.d/virtualkbd.conf
[General]
InputMethod=qtvirtualkeyboard

Теперь SDDM отображает кнопку открытия виртуальной клавиатуры в нижнем левом углу экрана входа.

Использование сканера отпечатка пальцев

Примечание: Убедитесь, что ваш отпечаток пальцев зарегистрирован перед внесением нижеописанных изменений. Поддержка данной функции ещё не работает должным образом и рекомендуется использовать пароль как основной метод входа в систему.

SDDM использует сканер отпечатков пальцев с помощью fprint. После установки fprint и регистрации отпечатка, добавьте строку auth sufficient pam_fprintd.so в начало файла /etc/pam.d/sddm.

Совет: Добавьте эту же строку в начало файла /etc/pam.d/kde для поддержки экрана блокировки KDE Plasma.

Также экран блокировки KDE позволяет включить вход по отпечаткам пальцев, при этом оставив возможность использовать пароль. Добавьте следующее содержание в начало секции аутентификации:

/etc/pam.d/kde
auth 			sufficient  	pam_unix.so try_first_pass likeauth nullok
auth 			sufficient  	pam_fprintd.so

Данный метод работает также и с SDDM (/etc/pam.d/sddm), но требует отдельной разблокировки KWallet.

Теперь сканер отпечатков пальцев должен включаться по нажатию на клавишу Enter в пустом поле пароля пользователя.

Решение проблем

Пустой экран с курсором, но без экрана приветствия

Проверьте свободное дисковое пространство с помощью команды df -h. В случае его отсутствия экран приветствия аварийно завершает работу.

Если же проблема не в отсутствии свободного места, она может быть связана с данной ошибкой. Переключитесь в другой TTY и перезапустите SDDM.

Долгая загрузка перед отображением экрана приветствия SDDM

Низкий уровень энтропии в системе может стать причиной долгой загрузки SDDM (Отчет об ошибке). Смотрите статью Random number generation для получения информации о повышении уровня энтропии.

Зависания после входа

Попробуйте удалить файл ~/.Xauthority и перезайти в систему без перезагрузки. Перезагрузка до повторного входа в систему пересоздаст данный файл и проблема сохранится.

SDDM запускается на tty1 вместо tty7

SDDM следует конвенции systemd, в которой первая графическая сессия запускается на tty1. Если вы предпочитаете старую конвенцию, в которой терминалы с первого по шестой зарезервированы для текстовых консолей, измените стандартное значение переменной MinimumVT в секции [X11]:

/etc/sddm.conf.d/tty.conf
[X11]
MinimumVT=7

Один или более пользователей не отображаются на экране приветствия

Важно: Пользователи в меньшем или большем диапазоне UID, как правило, не должны отображаться на экранном менеджере.

По умолчанию, SDDM отображает только тех пользователей, чей UID находится в диапазоне от 1000 до 65000. Если UID нужных вам пользователей ниже данного значения, вам потребуется изменить этот диапазон. Например, для пользователя с UID равным 501 файл конфигурации будет выглядеть следующим образом:

/etc/sddm.conf.d/uid.conf
[Users]
HideShells=/sbin/nologin,/bin/false
# Скрытые пользователи. Это для того, если какие-либо системные пользователи попадают в ваш диапазон. Смотрите /etc/passwd в вашей системе.
HideUsers=git,sddm,systemd-journal-remote,systemd-journal-upload

# Максимальный user id для отображаемых пользователей
MaximumUid=65000

# Минимальный user id для отображаемых пользователей
MinimumUid=500 #Мой UID равен 501

Аватары пользователей не отображаются на экране приветствия

Иконки пользователей не отображаются на экране приветствия, если количество пользователей превышает значение параметра DisableAvatarsThreshold или аватары совсем отключены параметром EnableAvatars. Данное поведение настраивается следующей конфигурацией SDDM:

/etc/sddm.conf.d/avatars.conf
[Theme]
EnableAvatars=true # Включение иконок пользователей
DisableAvatarsThreshold=7 # Задание лимита количества пользователей, при котором аватарки отображаются

SDDM загружает только английскую (US) раскладку клавиатуры

SDDM загружает раскладку клавиатуры, заданную в файле /etc/X11/xorg.conf.d/00-keyboard.conf. Вы можете сгенерировать этот конфигурационный файл командой localectl set-x11-keymap. Смотрите Keyboard configuration in Xorg (Русский) для дополнительной информации.

Также SDDM может некорректно отображать раскладку как английскую, но моментально изменит её на правильную после начала ввода пароля [4]. Похоже, что это баг не SDDM, а libxcb (версии 1.13-1 по состоянию на 2018) [5].

Слишком низкое разрешение экрана

Проблема может быть вызвана использованием HiDPI с мониторами с повреждённой информацией EDID [6]. Попробуйте отключить HiDPI, если он у вас включён.

Если же решение выше не помогает, можно попробовать задать размер экрана в файле конфигурации Xorg. Например:

/etc/X11/xorg.conf.d/90-monitor.conf
Section "Monitor"
        Identifier      "<default monitor>"
        DisplaySize     345 194 # in millimeters
EndSection

Долгая загрузка с домашней директорией на autofs

По умолчанию, SDDM пытается отобразить аватарки пользователей считывая файл ~/.face.icon. Если ваша домашняя директория имеет тип файловой системы autofs, например, в случае использования Dm-crypt (Русский), придётся ждать 60 секунд, пока autofs не сообщит, что директория не может быть смонтирована.

Вы можете отключить отображение аватарок отредактировав /etc/sddm.conf:

/etc/sddm.conf
[Theme]
EnableAvatars=false