%general-entities; ]> $LastChangedBy$ $Date$ sddm-&sddm-version; SDDM Introduction to SDDM The SDDM package contains a lightweight display manager based upon Qt and QML. &lfs77_checked; &gcc5_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 Recommended and Optional Docutils (for the man pages) Runtime Dependencies User Notes: 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 By default, SDDM starts the X server with the parameter -nolisten tcp. If you need to remotely connect to X, this is undesirable. You can optionally remove this parameter by running: sed -e '/nolisten/d' \ -i src/daemon/XorgDisplayServer.cpp Install SDDM by running the following commands: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_JOURNALD=OFF \ -Wno-dev .. && 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 Command Explanations -DCMAKE_BUILD_TYPE=Release: This switch is used to apply additional compiler optimizations. -DENABLE_JOURNALD=OFF: This switch is used because BLFS does not support systemd. : This switch may be used if you want the man pages to be installed. Notice that you need Docutils to build them. Configuring SDDM Config File /etc/sddm.conf /etc/sddm.conf This file is not installed with the build instructions, and default values are used by sddm. In order to generate the default /etc/sddm.conf, issue, as the root user: sddm --example-config > /etc/sddm.conf You need to edit this file, if your system has any unconventional characteristics. For example, if Xorg is installed in /opt, use your preferred editor as the root user to replace the ServerPath default value by /opt/xorg/bin/X. Or, as the root user, issue sed -e 's|/usr/bin/X|/opt/xorg/bin/X|' \ -i.orig /etc/sddm.conf This command will do the substitution and create a copy of the original file with name /etc/sddm.conf.orig. Boot Script Install the /etc/rc.d/init.d/sddm init script from the package. sddm make install-sddm Linux PAM Configuration 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 Starting sddm If the sddm bootscript has been installed, start it by running, as root user: /etc/rc.d/init.d/sddm start By convention, X should be executed at runlevel 5, consequently, the same is true for sddm. However, LFS 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. Most of the Window Managers and Desktop Environments automatically provide those files, but if necessary, you may include a custom one. Themes Four themes are installed at /usr/share/sddm/themes: circles, elarun, maldives, and maui. The default theme is maui. You can install other themes in that directory. In order to change the theme, you need to edit /etc/sddm.conf, using your preferred text editor, to change the default maui theme, replacing Current=maui by Current=<insert new theme name here>, e.g. Current=maldives. In order to see the theme without leaving the session, issue: sddm-greeter --test-mode --theme <theme path> Known Issues This application works well, but there are issues. You find the mainstream known issues at Issues. The BLFS development team have found some issues. Keyboard selection: the greeter shows a double question mark or the wrong keyboard. When you start to type the password or user name (depending on the theme, only password), the right keyboard selection magically appears. Optionally, a workaround is to include the keyboard list in /usr/share/sddm/scripts/Xsetup script, as the root user: echo 'setxkbmap "<your keyboard comma separated list>"' >> \ /usr/share/sddm/scripts/Xsetup E.g. echo 'setxkbmap "gb,br,us"' >> /usr/share/sddm/scripts/Xsetup Dircolors: the /etc/dircolors file is not honoured. Particularly, the compressed files are not displayed in red colour. If this happens, a workaround is to issue, as the root user: echo "source /etc/profile.d/dircolors.sh" >> /etc/bashrc It has been reported that this package does not work with Xorg installed with a prefix other than /usr. 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