%general-entities; ]> $LastChangedBy: bdubbs $ $Date: 2015-09-24 16:44:04 -0500 (Thu, 24 Sep 2015) $ Building Plasma 5 KDE Plasma 5 KDE Plasma 5 is a collection of packages based on top of KDE Frameworks 5 and QML. It has been derived from the monolithic KDE 4 desktop. They implement the KDE Display Environment (Plasma 5). &lfs81_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 , , , , (built with qt5), , and Recommended , , , , , , and 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=http://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" d88f68c4dc164ffd01c8b97747a98d5b kde-cli-tools-5.11.4.tar.xz ec7ccf4213a349a89c44dd79ee4e84f0 kdecoration-5.11.4.tar.xz e5a76c0348deaf565a596ae37541b3ae libkscreen-5.11.4.tar.xz aa7f970cdddf05a0ea97972ee85b2238 libksysguard-5.11.4.tar.xz bde2d5344cd3cfbfca3d08559db3f1b1 breeze-5.11.4.tar.xz 5fab1a28047962c2d66bfa3b922a0c7b breeze-gtk-5.11.4.tar.xz a93a609de1d346927399c6c12bf60843 kscreenlocker-5.11.4.tar.xz 997c543e4cf9668ff1a76f9db29911ee oxygen-5.11.4.tar.xz 0bcde5e63570448c76d53e20ab5eff3e kinfocenter-5.11.4.tar.xz de5775e01614cce24b2044f564445adc ksysguard-5.11.4.tar.xz f56900e45dbabb713cd4ef824e6d7323 kwin-5.11.4.tar.xz fd55a65c5459775ed524d8de897ec31f systemsettings-5.11.4.tar.xz 40b6acaebf7412d4ba5feee476965e01 plasma-workspace-5.11.4.tar.xz 23dda6808b0f584a49040cbe405af88b bluedevil-5.11.4.tar.xz 4343f5e010ed3c0cec03e5e4b697c804 kde-gtk-config-5.11.4.tar.xz a99e7e73794b599be385839b88683503 khotkeys-5.11.4.tar.xz 3a005563749fe7f1d3142b53a7f2ddfc kmenuedit-5.11.4.tar.xz 1c3c53d350a9427cde77b8cba77a533c kscreen-5.11.4.tar.xz 8f09c454407900cae56827caf5117e1d kwallet-pam-5.11.4.tar.xz 9ed78f6b6407ceb16bdb594bb36bdbc2 kwayland-integration-5.11.4.tar.xz 16fe5249444f345921dd88be983c9bfe kwrited-5.11.4.tar.xz d2e72f895c418cf2b7e51fbf4da8c240 milou-5.11.4.tar.xz 8c999cacc92b3f256edcd0addd0878ac plasma-nm-5.11.4.tar.xz befbc3ebeb75b3b6cb8559f3b039e322 plasma-pa-5.11.4.tar.xz df943e57ebba65150df11b824fac5154 plasma-workspace-wallpapers-5.11.4.tar.xz 5ccbd6b00367b48873b1b5653ad110c2 polkit-kde-agent-1-5.11.4.tar.xz 85616354c53b934752f221b4d89cd3dc powerdevil-5.11.4.tar.xz 5fb2f7a0aecd20b5eb3eba8c1d15956a plasma-desktop-5.11.4.tar.xz c08b672beb73bf531318ecce7d90cb84 kdeplasma-addons-5.11.4.tar.xz 615358f580a64ac053d327771b00c67f kgamma5-5.11.4.tar.xz 1a5d2ae7c34e3e7c9aedb931111554fa ksshaskpass-5.11.4.tar.xz #a8bdcdc6a79f79737070ceb7704ec2fc plasma-sdk-5.11.4.tar.xz 335e0f9a1fce7f527b3d4b581ff915fb sddm-kcm-5.11.4.tar.xz 965b833b71654869ecd865e2d59011f4 user-manager-5.11.4.tar.xz 4d4bfd4f7197a989c917c40887d4ad8b discover-5.11.4.tar.xz #1f23543acaf94836807b647453682189 breeze-grub-5.11.4.tar.xz #1129678c3765a52d7d244094da25e20d breeze-plymouth-5.11.4.tar.xz 24747273a2e9f0d09736b95fbfe82478 kactivitymanagerd-5.11.4.tar.xz ff4eeba3baf3b750aa158dfa622a8fe9 plasma-integration-5.11.4.tar.xz 15d11076b37a6bbada14e72c3e6c4516 plasma-tests-5.11.4.tar.xz 79f355d9b3ee53570045d9f90df36964 plymouth-kcm-5.11.4.tar.xz 9358a51ce97edd9d53044bd096e69bc2 xdg-desktop-portal-kde-5.11.4.tar.xz e879c77b1dc567d04cb191cbb785ec45 drkonqi-5.11.4.tar.xz 7726dbaabc0f0f301ffde730dc3e73c7 plasma-vault-5.11.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. 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 cd $KF5_PREFIX/share/plasma/plasmoids for j in $(find -name \*.js); do as_root ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/ done Command Explanations ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/: Create symbolic links so qml files can find needed javascript modules. 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" ck-launch-session dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde EOF startx cat > ~/.xinitrc << "EOF" dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde 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 You may wish to drop consolekit and/or dbus-launch, e.g., just using startkde in ~/.xinitrc. However some capabilities such as mounting or umounting file systems from a file manager will not be possible, or the reboot option may be absent or inoperative, among other problems. 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). If you intend to start Plasma using a display manager such as , there will be two entries for Plasma, one for use with Xorg, and another for Wayland. Modify the Xorg entry with the following command, as the root user, so that you can differentiate between the two: sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop Contents Installed Programs Installed Libraries Installed Directories There are too many plasma programs (50 in /opt/kf5/bin) to list separately here. There are too many plasma libraries (39 in /opt/kf5/lib) to list separately here. There are too many plasma directories (over 1000 in /opt/kf5) to list separately here.