SDDM (Русский)

From ArchWiki
Jump to navigation Jump to search
Состояние перевода: На этой странице представлен перевод статьи SDDM. Дата последней синхронизации: 18 сентября 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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/.

Также недоступна возможность автоматического входа в 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 (Русский)#Настройка.

Настройки 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

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

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

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

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

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

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

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

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

Долгая загрузка перед отображением экрана приветствия 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

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