%general-entities; ]> 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). &lfs112_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) , , and Optional , , , , appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, and socat (for pam_kwallet) Only two plasma packages optionally use : libksysguard and kdeplasma-addons. If QtWebEngine is installed later, only those two packages have to be rebuilt. This allows to provide a more complete display in the system monitor application. 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" a01dbbcce3ba3940153316d1c37d4744 kdecoration-5.26.4.tar.xz d1e815e30f077922fbcad8a5ae4ae551 libkscreen-5.26.4.tar.xz 7723718f4ae45ef8d7afb6f698754500 libksysguard-5.26.4.tar.xz a9a1aa3091af394ea4f0da49cf71fa55 breeze-5.26.4.tar.xz 6d3af0af59e7570c195e16326eb78a95 breeze-gtk-5.26.4.tar.xz 625e99eab5af4ec21336f748e67b67b7 layer-shell-qt-5.26.4.tar.xz a8162421975df33c2a28f679b03b03aa kscreenlocker-5.26.4.tar.xz c7d87706957fdcad8967348a718cc1c9 oxygen-5.26.4.tar.xz 3dbf318d057cd9a012d2a37a3d45c3d5 kinfocenter-5.26.4.tar.xz a2f23971599845b291c12c2701d7aa4e kwin-5.26.4.tar.xz 39302f811e359033e664a6461b6fdbe4 plasma-workspace-5.26.4.1.tar.xz 3f1e7dfe3bfb45bab458c3867d92cd9f plasma-disks-5.26.4.tar.xz d9fb627fc4272e7753af952b522d4416 bluedevil-5.26.4.tar.xz 54e61050bbadae9d40321843834660e8 kde-gtk-config-5.26.4.tar.xz 52d5f2ed12284c8f31c6e6c7c1a18271 khotkeys-5.26.4.tar.xz 0d8060c1680c91a85129732a25f67623 kmenuedit-5.26.4.tar.xz 68bea6c5219ed6b83eb588b4f09254f6 kscreen-5.26.4.tar.xz 325ecd912133aec98d72cbb9371b5e9b kwallet-pam-5.26.4.tar.xz 72255cb11155888a1f02dbc44346faf6 kwayland-integration-5.26.4.tar.xz b6ba8694011f3f764ff3a4a2de27c446 kwrited-5.26.4.tar.xz ba3f3b6cc47ae3092f4e70742300d181 milou-5.26.4.tar.xz 9b0fa4a7b7285c0eaaecc8f2cf4991b5 plasma-nm-5.26.4.tar.xz 9b83ac853e5851eb01918ae66e4bc238 plasma-pa-5.26.4.tar.xz f4386c8910593425386b4d53f495a590 plasma-workspace-wallpapers-5.26.4.tar.xz ca6f21554bc89320ad04d19fc56b749b polkit-kde-agent-1-5.26.4.tar.xz cc2dbf3bd907d7a347b53420f51b73c6 powerdevil-5.26.4.tar.xz a7480b2f3dcb241597f881b820cea82f plasma-desktop-5.26.4.tar.xz c381c5cd5bbcfcf7f5b5012862e575c5 kgamma5-5.26.4.tar.xz a0a20325af1c3a9690228f0da5d22efb ksshaskpass-5.26.4.tar.xz #90a1d60dfcae3b683246e3b04ccf3b36 plasma-sdk-5.26.4.tar.xz 1ab9b3119be9f170c82d28f83652d139 sddm-kcm-5.26.4.tar.xz 42bdb4436c5e5f02f6a6893b43d57029 discover-5.26.4.tar.xz #9bf877b70af210d2b40833d00c6baae8 breeze-grub-5.26.4.tar.xz #7977cbb93436e0cb41ac7c043a79d14e breeze-plymouth-5.26.4.tar.xz d102a43c139a928d6ccb83a0b4fb2f61 kactivitymanagerd-5.26.4.tar.xz d7999e1f9ca9b7da32387227f890e7ed plasma-integration-5.26.4.tar.xz 64277d588a7b2ab1bf9295268fac4fce plasma-tests-5.26.4.tar.xz #8824f8fe6c6547ba053c77980db5fc19 plymouth-kcm-5.26.4.tar.xz 2ca28e5e76a04ced2a151ada42df421f xdg-desktop-portal-kde-5.26.4.tar.xz d7d81abab1f75c4f75286b7541e3c724 drkonqi-5.26.4.tar.xz a5d6dcfbcacb34429e3125a4dc3d20fa plasma-vault-5.26.4.tar.xz c554a96073816fdadd5ce27c8cc290da plasma-browser-integration-5.26.4.tar.xz ef012068159708971289387b948bbb9f kde-cli-tools-5.26.4.tar.xz 3abcf237a6ba20f1e2ec4f9462780932 systemsettings-5.26.4.tar.xz d6406865e7e722f503d118d283a9cb13 plasma-thunderbolt-5.26.4.tar.xz #e459caedeccd6bd7ce7ec01130b9ef96 plasma-nano-5.26.4.tar.xz #710b5a5517a0856e991a45b0e33b5048 plasma-mobile-5.26.4.tar.xz 46363a107539755e2d6707a199860dc5 plasma-firewall-5.26.4.tar.xz a7614d882e4ea34682fbba713434ee94 plasma-systemmonitor-5.26.4.tar.xz 3d3c6f2086318a9a5bc584161b1a09b7 qqc2-breeze-style-5.26.4.tar.xz 9c5c6ced9cffaab52bdeed33fc5d053f ksystemstats-5.26.4.tar.xz dc694109774211bc57efa9030838245f oxygen-sounds-5.26.4.tar.xz b924e1a5efa106aafa87a25e1a3775b9 aura-browser-5.26.4.tar.xz 5d6fd4a97a939df024509371daca9fa2 kdeplasma-addons-5.26.4.tar.xz b3a40dc5c74a53889fd6b3204bf91124 kpipewire-5.26.4.tar.xz 6d235cd46a3f9ecd313e0d0cc66f194c plank-player-5.26.4.tar.xz 7dd0e56273b92752c7d0a2fc49144058 plasma-bigscreen-5.26.4.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.