%general-entities; ]> $Date$ 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). &lfs110a_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) Only two plasma packages optionally use : libksysguard and kdeplasma-addons. If QtWebEngine is installed later, only those two packages have to be rebuilt. This allows to provide a more complete display in the system monitor application. 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=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" 70412d6cd8e0d1c4c42ed12902368a7f kdecoration-5.23.4.tar.xz e970cde02338a940dfac2a46834bb914 libkscreen-5.23.4.tar.xz 2b3db1a3157b42f17e7f9bfa5a94632f libksysguard-5.23.4.tar.xz 4121a2c47a3a523fee891e82233dafaa breeze-5.23.4.tar.xz 5c7c1d37cc2e8e4e77509e76c025bd8a breeze-gtk-5.23.4.tar.xz 8a0ca463e975f36a4029c5b58e97d0c6 layer-shell-qt-5.23.4.tar.xz 9ba6af9d821819a12627228348be3a33 kscreenlocker-5.23.4.tar.xz 196a7591da5295467079154bbb555a0e oxygen-5.23.4.tar.xz 98aba2934bc1a37a948b7e2cd5a8a5f5 kinfocenter-5.23.4.tar.xz c3fb19662d5f9df6d08da17537de4a00 kwayland-server-5.23.4.tar.xz 7c4641bdb19b8ff3ebf785d9e62c4e73 kwin-5.23.4.tar.xz b881d2067ab2b2081b1abe514df535d2 plasma-workspace-5.23.4.tar.xz d792a0949023365b7cbe63063cac4d76 plasma-disks-5.23.4.tar.xz 129d38e7781b6b8de4228d5798a43cfb bluedevil-5.23.4.tar.xz 8c9e78a04e7d810e07f3016f2506b294 kde-gtk-config-5.23.4.tar.xz 679e9b0049272f9dd09fd5aa196d4083 khotkeys-5.23.4.tar.xz 25f187342eccfea8400ee7473d00c776 kmenuedit-5.23.4.tar.xz 525d86e1f10e27a682419dd7fe50adc7 kscreen-5.23.4.tar.xz b8dee5bf600004b67d499144e5b73aa4 kwallet-pam-5.23.4.tar.xz ccadb3775b62e6c79ae876d36e112d2d kwayland-integration-5.23.4.tar.xz 8d5500231378fce92b938e650b93af02 kwrited-5.23.4.tar.xz c747fc88fe6321936d321145953c9113 milou-5.23.4.tar.xz c8550fccbb1f4545b75d3d12ff3f2bd0 plasma-nm-5.23.4.tar.xz f8eb962f3ddb735440161349ccb53b7d plasma-pa-5.23.4.tar.xz a8c49526c3166ab39c52d5c2698cac66 plasma-workspace-wallpapers-5.23.4.tar.xz a4c54e6faa3539f87327fed2957d46e6 polkit-kde-agent-1-5.23.4.tar.xz caebf6ab603fca247adfb04d96b276b1 powerdevil-5.23.4.tar.xz 4f53438f181525c1c64de34e8a2a7539 plasma-desktop-5.23.4.tar.xz 7050e2d550375e09c5713c7975439748 kdeplasma-addons-5.23.4.tar.xz a142e8c4f2ca73e35384962d998a3b5c kgamma5-5.23.4.tar.xz daf8770fe5e265aad69534d64f3d9cea ksshaskpass-5.23.4.tar.xz #ad6f77ebdbc3396bbf08e61168669fa6 plasma-sdk-5.23.4.tar.xz 71a0156a31687357103f954fa78b6848 sddm-kcm-5.23.4.tar.xz 006e75263753756f8755bd059c19ab9e discover-5.23.4.tar.xz #9c8f0c048dc42677d74353bbfa2159a2 breeze-grub-5.23.4.tar.xz #71c20d264f3e55a6b44d7bb999cb2392 breeze-plymouth-5.23.4.tar.xz 280b8796189bc7aab7176b11d544e847 kactivitymanagerd-5.23.4.tar.xz ff59902f5d98c8b95e0233bbd51dc2c6 plasma-integration-5.23.4.tar.xz 75323ed6f25645cfc177b05851708aef plasma-tests-5.23.4.tar.xz #90f7253019ffeebea00e46c8d01825e3 plymouth-kcm-5.23.4.tar.xz 9834a8793b8ec9c9ba100088b156eda7 xdg-desktop-portal-kde-5.23.4.tar.xz 8a105673248c94dd7d67345e5015cfa1 drkonqi-5.23.4.tar.xz f95e5d77072c1e63d868fcf31794f2a7 plasma-vault-5.23.4.tar.xz 159c8ef827875feee49ad2ab18a69a68 plasma-browser-integration-5.23.4.tar.xz 6100c39ded0b25058d8d9c58a06dd88f kde-cli-tools-5.23.4.tar.xz da45f029de7d611f1f2ce68d944b9c97 systemsettings-5.23.4.tar.xz d13e77f6cfd50f710f155cec76fd4096 plasma-thunderbolt-5.23.4.tar.xz #26080aa1ce99de8ec0e8e170713a0bdb plasma-nano-5.23.4.tar.xz #6977fd972f03934aa40f6dceead0268a plasma-phone-components-5.23.4.tar.xz 8287067abceafacc586bdea72917f63a plasma-firewall-5.23.4.tar.xz 287dc2d4ba0501335460db00e40151be plasma-systemmonitor-5.23.4.tar.xz 43eb9791a41bab99ba7a69a95740a53c qqc2-breeze-style-5.23.4.tar.xz 77f7b33c69d7638d1109757feab51e74 ksystemstats-5.23.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 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). 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.