%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). &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=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" a82fbd8ebdc24ab964a5794012dada6e kdecoration-5.21.0.tar.xz 678ceeac2e696d7633b84141dfb2ed64 libkscreen-5.21.0.tar.xz 9a8143caad8d195c6c8dfcf1b1d18aaa libksysguard-5.21.0.tar.xz b8e9c1248709ff2c9e818143e874af27 breeze-5.21.0.tar.xz 1f6594183328fdfccc4010ab2c5ce5a4 breeze-gtk-5.21.0.tar.xz d2ea1b3ae9b88b54749a98ca8193d45b kscreenlocker-5.21.0.tar.xz 6054c7ec35426a291df93adfd27e4176 oxygen-5.21.0.tar.xz fe3c4c3ae19f7c61ccfc4d351fd7080b kinfocenter-5.21.0.tar.xz 8fa118b4d371acde44eda8029702d23a ksysguard-5.21.0.tar.xz 10ef295c21a7909cb3108afc4b921a73 kwayland-server-5.21.0.tar.xz d2ed0c4a2a9fe524fe67bd83f00583c7 kwin-5.21.0.tar.xz 0c26edb46a3e8ed3d34e6d81d62d6e71 plasma-workspace-5.21.0.tar.xz e68894f34307bafe32103fe1e33aae06 plasma-disks-5.21.0.tar.xz a265b07c9682055478126fa4e204d092 bluedevil-5.21.0.tar.xz 028b13255bdb5d098f1803f9dc62f805 kde-gtk-config-5.21.0.tar.xz 74ee03ddb871b9c86895a20f495e7cdb khotkeys-5.21.0.tar.xz a9320a3c516f70d4466bc30f6991a96d kmenuedit-5.21.0.tar.xz e9ad62eb9c32163b839fca906ec5f72e kscreen-5.21.0.tar.xz 0ab6b3623c61a62e2063b4f5be79efe7 kwallet-pam-5.21.0.tar.xz 6dff22fc612a1927186eb62954bb429f kwayland-integration-5.21.0.tar.xz c9d34d8803762b2a97eb3a3a70136bcd kwrited-5.21.0.tar.xz b35abb65d6d87aa78a348ded6bb3c3ee milou-5.21.0.tar.xz 9a87ba8d9a47e2090501eddc781517de plasma-nm-5.21.0.tar.xz 2347c88fbebb6489827300219e641e5b plasma-pa-5.21.0.tar.xz d0e77eda0c17aad34b4c68678518b7b8 plasma-workspace-wallpapers-5.21.0.tar.xz ec6f3fe4e550d902cf5404c35ff845dc polkit-kde-agent-1-5.21.0.tar.xz 6ae8b57ab554c0349599ff033c1a005c powerdevil-5.21.0.tar.xz 83f34d06e69825de999b80cb8b8447ec plasma-desktop-5.21.0.tar.xz 0c29f739d54b08c5af1a36f1dd674035 kdeplasma-addons-5.21.0.tar.xz 429e1028bc4b06f903ddaafc3e0f0b1f kgamma5-5.21.0.tar.xz 71d4900281eb35b5175acf96e4a34eb3 ksshaskpass-5.21.0.tar.xz #8c9ed6217ca03108bd8f427253a4cf40 plasma-sdk-5.21.0.tar.xz f6cd2582f35ca20eb0e0caaf38ebbc00 sddm-kcm-5.21.0.tar.xz 54d37d5d27944c6c3d084ad93016e534 discover-5.21.0.tar.xz #8e36d67aa751957ceddcbae98b52f2f0 breeze-grub-5.21.0.tar.xz #ac7f1771a3cf3d85b365d374f1d6ff5c breeze-plymouth-5.21.0.tar.xz 6cbcdf5e2a6b047e3d1e9aa4cee62bf5 kactivitymanagerd-5.21.0.tar.xz 0353c03a961d8c2cb1748efaa85da382 plasma-integration-5.21.0.tar.xz 35c85a324d88bc88fe434d61e4a90d05 plasma-tests-5.21.0.tar.xz #5e24f92008daf555da1c3b3dcb1c249f plymouth-kcm-5.21.0.tar.xz a09aa3d9e9ca0e8a5ddad02d3bfe5a30 xdg-desktop-portal-kde-5.21.0.tar.xz a1ec2be377d1055f35abd332acdf1ac7 drkonqi-5.21.0.tar.xz 74cb65b31bc5fa6a0c876e7b048b85fe plasma-vault-5.21.0.tar.xz ee351cfb8de76a7bcd6dd0000b245d37 plasma-browser-integration-5.21.0.tar.xz 797b8636170462f27809ce7c28d4549a kde-cli-tools-5.21.0.tar.xz 97bb910b309683fac6136209147146b9 systemsettings-5.21.0.tar.xz 09c1bcdd87b637479fb3ff1e291b9727 plasma-thunderbolt-5.21.0.tar.xz #dfe6d49611d3683438691f0a5d6d9871 plasma-nano-5.21.0.tar.xz #8035dd323453f4818e6d80124e3c5571 plasma-phone-components-5.21.0.tar.xz 1d3861e81b9503874b9c45a6f78ffd23 plasma-firewall-5.21.0.tar.xz 9fe2cb55233ab4316045328424511a61 plasma-systemmonitor-5.21.0.tar.xz e14320e9a524816de792a37a463c5d1c qqc2-breeze-style-5.21.0.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). 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 (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.