%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. They implement the KDE Display Environment (Plasma 5). &lfs10_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=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" af10a41b15cb81f3cc405e31ef9f17ed kdecoration-5.20.4.tar.xz aee69339bac97b8b4c8ba073c48ac7ed libkscreen-5.20.4.tar.xz 44015317e6c496a2cbd0dbea00fafec5 libksysguard-5.20.4.tar.xz 9000d1bfe0bb16ee499dbe5a5af9bb22 breeze-5.20.4.tar.xz f984413303ea9bfa8b09add47eea217a breeze-gtk-5.20.4.tar.xz 86f2e76c7408b2ccd327b4ffa7c81f41 kscreenlocker-5.20.4.tar.xz 792f7f818c18f386118093bb0be035d1 oxygen-5.20.4.tar.xz b41353b8c832a2831f04fc180dbabadd kinfocenter-5.20.4.tar.xz fd1267064fa9b085934cbe3f1e5aade7 ksysguard-5.20.4.tar.xz cf90264792369ba8bd4d4333a5b59c96 kwayland-server-5.20.4.tar.xz 2e25eb98bbbc37eaa81d6061817bd164 kwin-5.20.4.tar.xz cb4867c20b81ffcd8adae56c3dec0d41 plasma-workspace-5.20.4.tar.xz 2a177037483a9517c7ecbf003a2b7e5b plasma-disks-5.20.4.tar.xz ac4730c9c47016c1db92e1b1c66b585f bluedevil-5.20.4.tar.xz ea24ffd849444b5ceba4a48023939311 kde-gtk-config-5.20.4.tar.xz 856e51dfb18f2b51ca39db5af2b9707b khotkeys-5.20.4.tar.xz 257cba142fc1c13d328d6817b65cdc3a kmenuedit-5.20.4.tar.xz b8a5116c94ea717b3b71f2fdcc59a881 kscreen-5.20.4.tar.xz aea33684c4ed4241e01e3753fd0ea132 kwallet-pam-5.20.4.tar.xz 65d449b6a51fbff45c9cc65d601536ac kwayland-integration-5.20.4.tar.xz 09c0ef8c927c1b0798a41ae7b6ca1397 kwrited-5.20.4.tar.xz 92e9003a449866335ef154c748846f46 milou-5.20.4.tar.xz e05dbd9e6617b49290616d323bc54daf plasma-nm-5.20.4.tar.xz 1eebbc148709b42dc4862a2d98fff85b plasma-pa-5.20.4.tar.xz d96c17d9d589cd2ba833d60ac55208e5 plasma-workspace-wallpapers-5.20.4.tar.xz 44e98339dbe238045d1e72d26282a74d polkit-kde-agent-1-5.20.4.tar.xz 5fd24e129d01354d6abaf8aa8766ed85 powerdevil-5.20.4.tar.xz ddd01d3a85e5efb2967b7dfa4f162b6f plasma-desktop-5.20.4.tar.xz 6e4d4f4717c6149d0213bdc6fbe4cc0e kdeplasma-addons-5.20.4.tar.xz 9cf80a513951a8cb8f540d2cc2315664 kgamma5-5.20.4.tar.xz 7ac6d7e0d6849ce23e86b2ee5ad5d888 ksshaskpass-5.20.4.tar.xz #717b10a56d338bb58383f0f3269fb531 plasma-sdk-5.20.4.tar.xz 16f15fee8b435ac1ce0f304668f538b3 sddm-kcm-5.20.4.tar.xz f6f126e5f6d84d8f47516badc7fb7e9c discover-5.20.4.tar.xz #b55f6f11e4fa29c39fce9c0d5568ca88 breeze-grub-5.20.4.tar.xz #7d6977a3d6dea4e43ce03b81fc09ba2d breeze-plymouth-5.20.4.tar.xz a74cf024d2e05837b813703daa364713 kactivitymanagerd-5.20.4.tar.xz 5478e5bb63b40271143166dfbc3c7552 plasma-integration-5.20.4.tar.xz ae3ae24c4145ef01680f0120ee2693b8 plasma-tests-5.20.4.tar.xz #791d267d4869ea743bbe4d47e798a4cb plymouth-kcm-5.20.4.tar.xz c9a901323a72ccb071c1a2a9b20fe2d0 xdg-desktop-portal-kde-5.20.4.tar.xz 4515e64c1758dc49a8ca9adb1113a37a drkonqi-5.20.4.tar.xz 594abf697ef7ba64ee5a2468a72c93dc plasma-vault-5.20.4.tar.xz 1832bd8fabaec98d880fa25ea2adc395 plasma-browser-integration-5.20.4.tar.xz 3497d575211112126b26c50416ca1271 kde-cli-tools-5.20.4.tar.xz e1997939048be759b3344d05028c67bb systemsettings-5.20.4.tar.xz 3dd1492bd3ed8edf085a01b536c06a73 plasma-thunderbolt-5.20.4.tar.xz #e07b202527e67af36503e96149b974b0 plasma-nano-5.20.4.tar.xz #cda92e6b67f50ebf9bd9583593e9942d plasma-phone-components-5.20.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 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). 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 (61 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.