%general-entities; ]> sddm-&sddm-version; sddm Introduction to sddm The sddm package contains a lightweight display manager based upon Qt and QML. &lfs120_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &sddm-md5sum; Download size: &sddm-size; Estimated disk space required: &sddm-buildsize; Estimated build time: &sddm-time; SDDM Dependencies Required , , and &qt5-deps; Recommended (for the man pages), , and Installation of SDDM First, create a dedicated user and group to take control of the sddm daemon after it is started. Issue the following commands as the &root; user: groupadd -g 64 sddm && useradd -c "sddm Daemon" \ -d /var/lib/sddm \ -u 64 -g sddm \ -s /bin/false sddm Install sddm by running the following commands: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_JOURNALD=OFF \ -DNO_SYSTEMD=ON \ -DRUNTIME_DIR=/run/sddm \ -DUSE_ELOGIND=ON \ -DBUILD_MAN_PAGES=ON \ -DDATA_INSTALL_DIR=/usr/share/sddm \ -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \ .. && make mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DRUNTIME_DIR=/run/sddm \ -DBUILD_MAN_PAGES=ON \ -DDATA_INSTALL_DIR=/usr/share/sddm \ -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \ .. && make This package does not come with a test suite. Now, as the root user: make install && install -v -dm755 -o sddm -g sddm /var/lib/sddm /usr/bin/sddm --example-config > /etc/sddm.conf Command Explanations -DCMAKE_BUILD_TYPE=Release: This switch is used to apply additional compiler optimizations. -DENABLE_JOURNALD=OFF and -DNO_SYSTEMD=ON: These switchs are used because this version of BLFS does not support systemd. -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf: This switch prevents the file /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf from being overwritten, as it may be used by other DM's. -DBUILD_MAN_PAGES=ON: This switch is used to build and install man pages. Configuring SDDM Config Files /etc/sddm.config /etc/sddm.conf Normally, you want to edit this file. For example, if Xorg is installed in /opt, use your preferred editor as the &root; user to replace the default XauthPath value by /opt/xorg/bin/xauth. Or, as the &root; user, issue: sed -i.orig '/ServerPath/ s|usr|opt/xorg|' /etc/sddm.conf This command will do the substitution and create a copy of the original file with name /etc/sddm.conf.orig. From now on, we will describe how to modify configurations using sed. Of course, you may instead use your preferred editor as the &root; user. For security reasons, you normally want the default ServerArguments=-nolisten tcp, unless a remote machine needs access to the local X server. In that case, as the &root; user, issue: sed -i 's/-nolisten tcp//' /etc/sddm.conf Desktop (Notebook) users, normally want the Num Lock key on (off). For that, as &root;, issue: sed -i '/Numlock/s/none/on/' /etc/sddm.conf for Desktop users. For Notebook users, replace /on/ by /off/ in the command above. By default, a virtual keyboard is presented for the user. If this is not desired, run as &root;: sed -i 's/qtvirtualkeyboard//' /etc/sddm.conf Boot Script Install the /etc/rc.d/init.d/xdm init script from the package, as the &root; user: Enable the pre-installed systemd unit by running the following command as the &root; user: sddm make install-sddm systemctl enable sddm Linux PAM Configuration The install procedure above installed a set of PAM configuration files. These procedures overwrite them and use versions compatible with a BLFS environment. If you have built sddm with Linux PAM support, create the necessary configuration files by running the following commands as the &root; user: cat > /etc/pam.d/sddm << "EOF" # Begin /etc/pam.d/sddm auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth include system-auth account include system-account password include system-password session required pam_limits.so session include system-session # End /etc/pam.d/sddm EOF cat > /etc/pam.d/sddm-autologin << "EOF" # Begin /etc/pam.d/sddm-autologin auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth required pam_permit.so account include system-account password required pam_deny.so session required pam_limits.so session include system-session # End /etc/pam.d/sddm-autologin EOF cat > /etc/pam.d/sddm-greeter << "EOF" # Begin /etc/pam.d/sddm-greeter auth required pam_env.so auth required pam_permit.so account required pam_permit.so password required pam_deny.so session required pam_unix.so -session optional pam_systemd.so # End /etc/pam.d/sddm-greeter EOF cat > /etc/pam.d/sddm << "EOF" && # Begin /etc/pam.d/sddm auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth include system-auth account include system-account password include system-password session required pam_limits.so session include system-session # End /etc/pam.d/sddm EOF cat > /etc/pam.d/sddm-autologin << "EOF" && # Begin /etc/pam.d/sddm-autologin auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth required pam_permit.so account include system-account password required pam_deny.so session required pam_limits.so session include system-session # End /etc/pam.d/sddm-autologin EOF cat > /etc/pam.d/sddm-greeter << "EOF" # Begin /etc/pam.d/sddm-greeter auth required pam_env.so auth required pam_permit.so account required pam_permit.so password required pam_deny.so session required pam_unix.so -session optional pam_systemd.so # End /etc/pam.d/sddm-greeter EOF Starting sddm If the sddm bootscript has been installed, start sddm by running, as the &root; user: /etc/rc.d/init.d/xdm start By convention, X should be executed at runlevel 5, consequently, the same is true for sddm. However, the default runlevel is 3. Changing to runlevel 5, from a console terminal, as root user, starts the sddm bootscript, bringing up the greeter screen: init 5 In order to permanently set the default to 5, starting the sddm greeter screen automatically, modify /etc/inittab as the root user: cp -v /etc/inittab{,-orig} && sed -i '/initdefault/ s/3/5/' /etc/inittab Available Sessions The greeter offers a list of available sessions, depending on the Window Managers and Desktop Environments installed. The list includes sessions which have a corresponding .desktop file installed under /usr/share/xsessions or /usr/share/wayland-sessions. Most of the Window Managers and Desktop Environments automatically provide those files, but if necessary, you may include a custom one. Themes Three themes are installed at /usr/share/sddm/themes: elarun, maldives, and maya. There is also a default theme, which is not present in that directory. You can install other themes in that directory. In order to change the theme, you need to edit /etc/sddm.conf, to change the default (empty) theme, replacing Current= with Current=<new theme>, e.g. Current=maldives. In order to see the theme without leaving the session, issue: sddm-greeter --test-mode --theme <theme path> Contents Installed Programs Installed Libraries Installed Directories sddm and sddm-greeter None $QT5DIR/qml/SddmComponents, /usr/share/sddm, and /var/lib/sddm Short Descriptions sddm is a display and login manager based on Qt libraries. sddm sddm-greeter is an auxiliary process that displays the greeter, a graphical user interface that performs user authentication and initiates the selected window manager or display environment. sddm-greeter