%general-entities; ]> $Date$ Building Plasma 5 KDE Plasma 5 KDE Plasma 5 is a collection of packages based on top of KDE Frameworks 5 and QML. They implement the KDE Display Environment (Plasma 5). &lfs101_checked; The instructions below build all of the Plasma 5 packages in one step by using a bash script. Package Information Download (HTTP): Download (FTP): Download MD5 sum: &plasma5-md5sum; Download size: &plasma5-size; Estimated disk space required: &plasma5-buildsize; Estimated build time: &plasma5-time; Plasma 5 Dependencies Required , , , , , , built with , , , , , , , and Recommended , , , , , , , , and Recommended (runtime) Optional , , , appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, and socat (for pam_kwallet) User Notes: Downloading KDE Plasma5 The easiest way to get the KDE Plasma5 packages is to use a single wget to fetch them all at once: url=https://download.kde.org/stable/plasma/&plasma5-version;/ wget -r -nH -nd -A '*.xz' -np $url The options used here are: -r recurse through child directories -nH disable generation of host-prefixed directories -nd do not create a hierarchy of directories -A '*.xz' just get the *.xz files -np don't get parent directories Setting Package Order The order of building files is important due to internal dependencies. Create the list of files in the proper order as follows: cat > plasma-&plasma5-version;.md5 << "EOF" b94892460a9cfe1664ecd1e254285849 kdecoration-5.22.1.tar.xz 18e02542b87f3d936c45f2423ce1fe80 libkscreen-5.22.1.tar.xz 831c221ec0d988e8d264a405512a251f libksysguard-5.22.1.tar.xz 7bc476b96f65b9a5bcba2fd54eedc4d9 breeze-5.22.1.tar.xz a128e672d86330336528b482f8ff33a9 breeze-gtk-5.22.1.tar.xz 874eab1bca3ca9673a445050b4746637 layer-shell-qt-5.22.1.tar.xz 94bd1cf5cca0d378b19926bb0e3036fc kscreenlocker-5.22.1.tar.xz c7e0ef8224eb580aa035b51cba0b63d1 oxygen-5.22.1.tar.xz fa40eff2f9e941cb6a77da812e973666 kinfocenter-5.22.1.tar.xz 7cda86a2c472a663dae635dbcac08553 kwayland-server-5.22.1.tar.xz 6149319d541eaff89ffff305b259faa4 kwin-5.22.1.tar.xz d2933e9d1a4ae2de40bb5937e7951791 plasma-workspace-5.22.1.tar.xz 69f39c490a95b1f336827f42cd0feea0 plasma-disks-5.22.1.tar.xz 77f08a94baacf616d919d995e245f56c bluedevil-5.22.1.tar.xz b4610ac61deb1996360d6c4451af4734 kde-gtk-config-5.22.1.tar.xz 1decbacec448cdd42974bbebed545fdf khotkeys-5.22.1.tar.xz b4e04666701fdcc9f663768f9b42f297 kmenuedit-5.22.1.tar.xz b888e1d936905bc3e5aea36788d86023 kscreen-5.22.1.tar.xz 7b83e914db66c4c86ace9f052d1a644d kwallet-pam-5.22.1.tar.xz d3cf7595e613aee35c7d0ad0ee5c51a3 kwayland-integration-5.22.1.tar.xz a34af5bfb97499d2a99011a823dd1a11 kwrited-5.22.1.tar.xz 1dbec1654fefd61cdacf115fcc91236d milou-5.22.1.tar.xz b391404db79efccd99869ba577240522 plasma-nm-5.22.1.tar.xz 5530b55795634f454876f365106ea065 plasma-pa-5.22.1.tar.xz b980ccb5cfe0c1bfdc283250d7b2f130 plasma-workspace-wallpapers-5.22.1.tar.xz 0c3fcdf2ac6c9dc17422f1c527f47558 polkit-kde-agent-1-5.22.1.tar.xz ea9c6324ce9ee03202182afb31397545 powerdevil-5.22.1.tar.xz 9a3464909cacd130dfd8c933094d2399 plasma-desktop-5.22.1.tar.xz 92476c8f8fd8e40fa3b020993589b152 kdeplasma-addons-5.22.1.tar.xz 94086410aff644ef8c8bb07079fea822 kgamma5-5.22.1.tar.xz a0457e8cd66555b589e75bdfcfa985c1 ksshaskpass-5.22.1.tar.xz #8d1809121246ff9cf4a7c3a479c44a71 plasma-sdk-5.22.1.tar.xz 7f4e4aaa9af85e73edb4a0845a92750c sddm-kcm-5.22.1.tar.xz 443256fde9c7c99fef6b07653286889a discover-5.22.1.tar.xz #2288e8e85751fb2d0dbaacb1080ab1b0 breeze-grub-5.22.1.tar.xz #e3f6c3ab94e7b816852416fef3b91f09 breeze-plymouth-5.22.1.tar.xz 973c724942d8497cc6a08ba4e5320f3a kactivitymanagerd-5.22.1.tar.xz 88649ff927b250800fb3d731ce75367d plasma-integration-5.22.1.tar.xz 10098e2a4933cd20e2e7708ea34ca1cf plasma-tests-5.22.1.tar.xz #f5d9d6951b38a88dedcedd5520f1ed09 plymouth-kcm-5.22.1.tar.xz aac607dce5c3683ad1d6f2daeafb64fa xdg-desktop-portal-kde-5.22.1.tar.xz 200f3c5093e3b9e21ddc6fd9645302de drkonqi-5.22.1.tar.xz e393e4b1e259a5ce2022d980bba4e0fd plasma-vault-5.22.1.tar.xz 3b1e8f7761224959757a3b698046694d plasma-browser-integration-5.22.1.tar.xz 99bd2e016ecf2fa994ddc236f823fc83 kde-cli-tools-5.22.1.tar.xz 904eb7c0af86a65e348a4c2211cc6e20 systemsettings-5.22.1.tar.xz 4357b2ef8ef57b6e7e8bcb70bb60428c plasma-thunderbolt-5.22.1.tar.xz #cd751995ac6d1b8195c4e4ebc10aabbf plasma-nano-5.22.1.tar.xz #dcb106786e6f1bb783df95c09b028e48 plasma-phone-components-5.22.1.tar.xz 9805d9bf07217766496edcb6a30ace35 plasma-firewall-5.22.1.tar.xz 698018452cb155b9502bf3f500bb9b21 plasma-systemmonitor-5.22.1.tar.xz 255179a1585d56c178c38a1ec09fd2ac qqc2-breeze-style-5.22.1.tar.xz a9513779eeef7c2642bde9ac15ab0c3c ksystemstats-5.22.1.tar.xz EOF The breeze-grub, breeze-plymouth, and plymouth-kcm packages above are all for customized support of Plymouth which is designed to be run within an initial ram disk during boot (see ). The plasma-sdk package is optional and used for software development. The plasma-nano package is used for embedded systems and plasma-phone-components provides phone functionality for Plasma. Installation of Plasma5 &as_root; First, start a subshell that will exit on error: bash -e Install all of the packages by running the following commands: while read -r line; do # Get the file name, ignoring comments and blank lines if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi file=$(echo $line | cut -d" " -f2) pkg=$(echo $file|sed 's|^.*/||') # Remove directory packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory tar -xf $file pushd $packagedir mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make as_root make install popd as_root rm -rf $packagedir as_root /sbin/ldconfig done < plasma-&plasma5-version;.md5 exit If you did not set $KF5_PREFIX to /usr, create symlinks to allow display managers to find Plasma: as_root install -dvm 755 /usr/share/xsessions && cd /usr/share/xsessions/ && [ -e plasma.desktop ] || as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop && as_root install -dvm 755 /usr/share/wayland-sessions && cd /usr/share/wayland-sessions/ && [ -e plasmawayland.desktop ] || as_root ln -sfv $KF5_PREFIX/share/wayland-sessions/plasmawayland.desktop Useless systemd units have been installed in $KF5_PREFIX/lib. Remove them now (as root): rm -rf $KF5_PREFIX/lib/systemd Configuring Plasma Linux PAM Configuration If you built Plasma with the recommended Linux PAM support, create necessary configuration files by running the following commands as the root user: cat > /etc/pam.d/kde << "EOF" # Begin /etc/pam.d/kde 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 include system-session # End /etc/pam.d/kde EOF cat > /etc/pam.d/kde-np << "EOF" # Begin /etc/pam.d/kde-np 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 include system-password session include system-session # End /etc/pam.d/kde-np EOF cat > /etc/pam.d/kscreensaver << "EOF" # Begin /etc/pam.d/kscreensaver auth include system-auth account include system-account # End /etc/pam.d/kscreensaver EOF Starting Plasma5 You can start Plasma5 from runlevel 3, using , or from runlevel 5, using a Display Manager, such as . You can start Plasma5 from a TTY, using . To start Plasma 5 using , run the following commands: cat > ~/.xinitrc << "EOF" dbus-launch --exit-with-session $KF5_PREFIX/bin/startplasma-x11 EOF startx The X session starts on the first unused virtual terminal, normally vt7. You can switch to another vtn simultaneously pressing the keys Ctrl-Alt-Fn (n=1, 2, ...). To switch back to the X session, normally started at vt7, use Ctrl-Alt-F7. The vt where the command startx was executed will display many messages, including X starting messages, applications automatically started with the session, and eventually, some warning and error messages. You may prefer to redirect those messages to a log file, which not only will keep the initial vt uncluttered, but can also be used for debugging purposes. This can be done starting X with: startx &> ~/x-session-errors When shutting down or rebooting, the shutdown messages appear on the vt where X was running. If you wish to see those messages, simultaneously press keys Alt-F7 (assuming that X was running on vt7). Contents Installed Programs Installed Libraries Installed Directories There are too many plasma programs (63 in /opt/kf5/bin) to list separately here. There are too many plasma libraries (40 in /opt/kf5/lib) to list separately here. There are too many plasma directories (over 1000 in /opt/kf5) to list separately here.