%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). &lfs113_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) is required for aura-browser. It is also optional for two other packages: libksysguard and kdeplasma-addons. If QtWebEngine is installed later, only these two packages need to be rebuilt. This allows a more complete display in the system monitor application. Editor 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" 51e9302eb0654fae37d3962626ff4fbb kdecoration-5.27.5.tar.xz 74bde56139ac985dcbdc2367a70b9bca libkscreen-5.27.5.tar.xz b7247c962c5d25adab4319b61658a084 libksysguard-5.27.5.tar.xz 82968d40f62140cee86aea36a906bd83 breeze-5.27.5.tar.xz aeaa28b4191c882cc18fc4e411e8a2e4 breeze-gtk-5.27.5.tar.xz af0607ef8312a85428229118b62c88fe layer-shell-qt-5.27.5.tar.xz 4694667b6f766583b4c82a080a927604 kscreenlocker-5.27.5.tar.xz 06d8187c1365ea93a6b6c944e357e6c0 oxygen-5.27.5.tar.xz 2dbc2bb816a2e20d09f969ad3a939845 kinfocenter-5.27.5.tar.xz 9dcdcf269faee1e5370840f6e8b7eb7f kwin-5.27.5.tar.xz 6d8eebad15cca79e694360ffddb06ac0 plasma-workspace-5.27.5.tar.xz c35e7d44a3d183c870a5a867ea87703f plasma-disks-5.27.5.tar.xz ff679b3b315c98baeae249a09c060a86 bluedevil-5.27.5.tar.xz 400c30c063f2c4c6e1b1f876c25e3772 kde-gtk-config-5.27.5.tar.xz bde2e79070e499d26586a480e9ee36a5 khotkeys-5.27.5.tar.xz 8b0a697df18d02c7eb33b6378cbd4d45 kmenuedit-5.27.5.tar.xz d2c3d8dcd306b426a3c6ff1eed6c1133 kscreen-5.27.5.tar.xz a73ad8b4251c5661f6f19eb1d74ba1bf kwallet-pam-5.27.5.tar.xz f409d7176b62b0c7c1fd6bae483f727c kwayland-integration-5.27.5.tar.xz 41e446151576173a39ae8129d2eccac2 kwrited-5.27.5.tar.xz 219d1e6af7aba7333af2b3016ae4c548 milou-5.27.5.tar.xz 03de7063c72469e7ee0f152db471f84a plasma-nm-5.27.5.tar.xz 612efae7cd722f5f1e3896c3bf3fb161 plasma-pa-5.27.5.tar.xz 50fa6015315c82976426760552d46d7f plasma-workspace-wallpapers-5.27.5.tar.xz 058a604c6ea8e0ae64f5878a7e5944b8 polkit-kde-agent-1-5.27.5.tar.xz 672a9b07e3725c26318edbab4b9e128e powerdevil-5.27.5.tar.xz 6d10296d88754fae5c246aa73c3f9059 plasma-desktop-5.27.5.tar.xz 5b69ac7f3f160640aee2fe2fb1c6d024 kgamma5-5.27.5.tar.xz b6c9189955d602662672298c50758b0e ksshaskpass-5.27.5.tar.xz #a46c94604166a9a2feb748ee8c82e86d plasma-sdk-5.27.5.tar.xz 9fbd2a51814d3ca86371df990643f93a sddm-kcm-5.27.5.tar.xz #3f192d5ae11e72dedee2686ca1fd5133 discover-5.27.5.tar.xz #7fdd06cfba4d5e33cfc332be0235635e breeze-grub-5.27.5.tar.xz #f4d52827d548f61957fa81e232a9413a breeze-plymouth-5.27.5.tar.xz cad575c607ef907af5138fee59a0c5b7 kactivitymanagerd-5.27.5.tar.xz 6b748c004da6d5b3528c08a93bf1a0f7 plasma-integration-5.27.5.tar.xz #59b6d2dd34435697fe18e564ed78a511 plymouth-kcm-5.27.5.tar.xz cda052cd8e5e93079b90ecd32878e8c2 xdg-desktop-portal-kde-5.27.5.tar.xz df38490abd84e1dab33bb0a71749ddef drkonqi-5.27.5.tar.xz e7480e7771f736742b9ac60cd9bc1cc5 plasma-vault-5.27.5.tar.xz c2f27e9822a4e7ccf973d75a0a3883f5 plasma-browser-integration-5.27.5.tar.xz 73ba745f7b31dd74c5ac60b3fe311f59 kde-cli-tools-5.27.5.1.tar.xz c598c2329e43a3bb6a2da6c555341272 systemsettings-5.27.5.tar.xz 091b75af67a85285ec321f7fa4ebe25a plasma-thunderbolt-5.27.5.tar.xz #1b35ba803eb94218d6f91a6a285259ef plasma-nano-5.27.5.tar.xz #4d24bc44142da6aee054b5ba0ceda8de plasma-mobile-5.27.5.tar.xz 909a2118673360130dca8b2b104c988b plasma-firewall-5.27.5.tar.xz aec129bb64448e92d8abcdee54e7c29a plasma-systemmonitor-5.27.5.tar.xz 6bc2603e9b50728639a0274ed108ebf1 qqc2-breeze-style-5.27.5.tar.xz 453d047ecb4b0de02babe74b435110a1 ksystemstats-5.27.5.tar.xz 50d577a781cf009b6d56766cd9ce801e oxygen-sounds-5.27.5.tar.xz #98ad50d4bd635c28b33e498855ac5125 aura-browser-5.27.5.tar.xz ef10140df619daa2b82b22f77e07a4c9 kdeplasma-addons-5.27.5.tar.xz 6ffe6e00493ade07b452ab9d30385d77 kpipewire-5.27.5.tar.xz a185c7f09b9b81683e85d884f9be1e1e plank-player-5.27.5.tar.xz d520bce789eae5a0d9ba9432de5d76ac plasma-bigscreen-5.27.5.tar.xz a1d5c114997f50bc6a6e1c40cc63009c plasma-remotecontrollers-5.27.5.tar.xz #f96194446cb04af657dc4abc1634d7af flatpak-kcm-5.27.5.tar.xz #47263a34137f46e168332de80c46a168 plasma-welcome-5.27.5.tar.xz EOF About Commented out Packages 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-mobile provides phone functionality for Plasma. The aura-browser package requires . The discover package requires the external package appstream-qt. The plasma-welcome package requires the external package kaccounts-integration. The flatpack-kcm package is for managing support of flatpack applications. 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-x11 $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.