%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). &lfs80_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" 385dedd91c52692248582590afb1fada kde-cli-tools-5.10.0.tar.xz 97251f0737fedeb8e718da52fb2e3c4f kdecoration-5.10.0.tar.xz 93cf21d6485c2207b01a36493687021a libkscreen-5.10.0.tar.xz 4dc7f5d5fd0fb1c78ba0d7442c643439 libksysguard-5.10.0.tar.xz c3ee9712d1b5e76c60e520369d8d0203 breeze-5.10.0.tar.xz e3abfe588d5d606c1bd9feb57296f2df breeze-gtk-5.10.0.tar.xz 3234d0bbfbf2ca277e835c25b8c8e347 kscreenlocker-5.10.0.tar.xz 76ac64277d4e0329baa4b119dbe1d872 oxygen-5.10.0.tar.xz f4fdc03dded336fb79dcb1d41198f12b kinfocenter-5.10.0.tar.xz eeb495ac4971114e4c378f749b307d5a ksysguard-5.10.0.tar.xz ca95a965a3a165c1fdaa6db8b33efa8d kwin-5.10.0.tar.xz 15a6eb395aae2b2c12eed4ebb0806853 systemsettings-5.10.0.tar.xz b58e8037c09011abf1e868df1d5bc401 plasma-workspace-5.10.0.tar.xz c0cd10543a62358d73060747e950c19b bluedevil-5.10.0.tar.xz d65869affd1204d8056efca6a20fd37b kde-gtk-config-5.10.0.tar.xz 53ff209275740023066ddcf3f930ddce khotkeys-5.10.0.tar.xz cf6a4611f2c35a32e2571dc13ea0a348 kmenuedit-5.10.0.tar.xz b34337a7849c39b5b9710ce4ec06ecd7 kscreen-5.10.0.tar.xz 82847e071a55f526150f3b945d9cd13e kwallet-pam-5.10.0.tar.xz 50a1816d7d70246a9c7bcc08cfe6a014 kwayland-integration-5.10.0.tar.xz 83a93dbc26f874e8da5b5b5f61a53450 kwrited-5.10.0.tar.xz 2a49140e706662d4543d2ab43ed833f0 milou-5.10.0.tar.xz 976e21025c3a18331ba450f304c68720 plasma-nm-5.10.0.tar.xz 7c6186fb1356fe457f4c8ab9e68ee343 plasma-pa-5.10.0.tar.xz d7cc2d1c45442672bb528cbcfb3e7b0c plasma-workspace-wallpapers-5.10.0.tar.xz 3a2ba731b5668c806ab40e2efe285ef2 polkit-kde-agent-1-5.10.0.tar.xz 7acf9ead83f2ed6f676115351a41742a powerdevil-5.10.0.tar.xz d1edc632e923a66c578b0b301221efb1 plasma-desktop-5.10.0.tar.xz 93fd41d84118483582bf2d2cfe39d8d4 kdeplasma-addons-5.10.0.tar.xz e6658da2bb79caedeba733c0c1fcfc95 kgamma5-5.10.0.tar.xz f90500aaf1f2ee90cd2d248d646bf44f ksshaskpass-5.10.0.tar.xz #bc5650a67220f5ec2c7556635a4e15b7 plasma-sdk-5.10.0.tar.xz 00e5f4bec1a304d756e87e9c52269306 sddm-kcm-5.10.0.tar.xz 814f9ecc0299de76d722de7020c19bd5 user-manager-5.10.0.tar.xz 1070622fea6faa5952b724028c14bc7d discover-5.10.0.tar.xz #330e2a7c084a432aed63d0a31c54df1e breeze-grub-5.10.0.tar.xz #0059b846bb6236adad2e5b5d0df3c2d6 breeze-plymouth-5.10.0.tar.xz a35ae2e6c7ef48234841b416769a17ac kactivitymanagerd-5.10.0.tar.xz 24c9a41664ffa89768df14005335e7bc plasma-integration-5.10.0.tar.xz 182f5a883551ab5a789cf8afd3212d64 plasma-tests-5.10.0.tar.xz #480568df95a0d73829e9b3478c130917 plymouth-kcm-5.10.0.tar.xz 6e3f734d83271fa7a28176faf9649688 xdg-desktop-portal-kde-5.10.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. 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.