KDE Plasma 5 est une collection de paquets basés sur KDE Frameworks 5 et QML. Ils implémentent l'environnement d'affichage KDE (Plasma 5).
This package is known to build and work properly using an LFS 12.0 platform.
Les instructions suivantes construisent tous les paquets Plasma 5 en une étape en utilisant un script bash.
Téléchargement (HTTP) : https://download.kde.org/stable/plasma/5.27.7
Somme de contrôle MD5 : Voir ci-dessous
Taille du téléchargement : 258 Mo
Estimation de l'espace disque requis : 1,7 Go (419 Mo installés)
Estimation du temps de construction : 19 SBU (avec parallélisme = 4)
GTK+-2.24.33, GTK+-3.24.38, KDE Frameworks-5.109.0, kuserfeedback-1.2.0, libpwquality-1.4.5, libqalculate-4.7.0, libxkbcommon-1.5.0, Mesa-23.1.6 construit avec Wayland-1.22.0, NetworkManager-1.44.0, pipewire-0.3.77, PulseAudio-16.1, qca-2.3.7, sassc-3.6.2, taglib-1.13.1 et xcb-util-cursor-0.1.4
fftw-3.3.10, gsettings-desktop-schemas-44.0, libdbusmenu-qt-0.9.3+16.04.20160218, libcanberra-0.30, libinput-1.23.0, libpcap-1.10.4, Linux-PAM-1.5.3, lm-sensors-3-6-0, oxygen-icons5-5.109.0 et pciutils-3.10.0
AccountsService-23.13.9, smartmontools-7.4 et Xwayland-23.2.0
GLU-9.0.3, ibus-1.5.28, qtwebengine-5.15.15, Xorg Synaptics Driver-1.9.2, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM et socat (for pam_kwallet)
qtwebengine-5.15.15 est requis pour aura-browser. Deux paquets de plasma l'utilisent également de manière facultative : libksysguard et kdeplasma-addons. Si QtWebEngine est installé plus tard, seuls ces deux paquets doivent être reconstruits. Cela permet de fournir un affichage plus complet dans l'application de surveillance du système.
Notes des rédacteurs : https://wiki.linuxfromscratch.org/blfs/wiki/kf5
La meilleure façon d'avoir les paquets de KDE Plasma5 est d'utiliser un seul wget pour les avoir tous en même temps :
url=https://download.kde.org/stable/plasma/5.27.7/
wget -r -nH -nd -A '*.xz' -np $url
Les options utilisée ici sont :
-r récupère les répertoires enfants
-nH désactive la génération de répertoires commençant pour le nom d'hôte
-nd ne crée pas de hiérarchie de répertoires
-A '*.xz' récupère uniquement les fichiers *.xz
-np ne récupère pas les répertoires parents
L'ordre de construction des fichiers est important à cause des dépendances internes. Créez la liste des fichiers dans le bon ordre comme suit :
cat > plasma-5.27.7.md5 << "EOF"
f8e36636128efc0172b0664df372f350 kdecoration-5.27.7.tar.xz
0f40e7e4ef0675cf06afc828c6056821 libkscreen-5.27.7.tar.xz
fdbbd274867d8013631eb66f889da983 libksysguard-5.27.7.tar.xz
6d0358ed7bbb27557c073cfce675120f breeze-5.27.7.tar.xz
7dac534103b595e861fb923e0a46af8a breeze-gtk-5.27.7.tar.xz
27839d93e7bf42bd8e6e9d822572a3d3 layer-shell-qt-5.27.7.tar.xz
56e13a523dc2b27dd2fe7d17cf87c427 kscreenlocker-5.27.7.tar.xz
1806b24c107c30a0144be0c58361c391 oxygen-5.27.7.tar.xz
b3b25a757de32befe4c282ebc9b928c3 kinfocenter-5.27.7.tar.xz
f992f11ed7704e94809f4a609b444074 kwin-5.27.7.tar.xz
5aa3a8e2e8c97b182cb15090f9149831 plasma-workspace-5.27.7.tar.xz
2b3c139e30eaaf4cf42706c9e6212ca5 plasma-disks-5.27.7.tar.xz
a347a0848863114e96ca25868b1d2483 bluedevil-5.27.7.tar.xz
77731f7530552c096785e938554c5c0e kde-gtk-config-5.27.7.tar.xz
19a17f02655872c827380bd1fc485b50 khotkeys-5.27.7.tar.xz
4777cae88cb32e1dc77d6765f3cf17e3 kmenuedit-5.27.7.tar.xz
a9618c0aa86cf8d0186e146aef644cd7 kscreen-5.27.7.tar.xz
d75c043ef114b2b590f8ede12bb86a24 kwallet-pam-5.27.7.tar.xz
9c4ebb3d608c08c83b87a880b731ef11 kwayland-integration-5.27.7.tar.xz
2d04936cfcdb3da0ecab6b9c7f83339e kwrited-5.27.7.tar.xz
ea10ad5ac86ad2a1f1c0dfdb28918ad8 milou-5.27.7.tar.xz
1640a01420f5885d87e55a3fc3ca8410 plasma-nm-5.27.7.tar.xz
24cdd5610e2b02c774486cdeaf0074f5 plasma-pa-5.27.7.tar.xz
4d941372e2a0ba9fe4a42a668dfd6aeb plasma-workspace-wallpapers-5.27.7.tar.xz
003d40545b13d58a2fa024236c92c18f polkit-kde-agent-1-5.27.7.tar.xz
2708af1b47a164321111220f3e3fb5f8 powerdevil-5.27.7.tar.xz
7f7d2bea26b4d825c9a6e8d57e400a4a plasma-desktop-5.27.7.1.tar.xz
#b8f2c72d4d0ffd37573c1f949e8604aa plasma-desktop-5.27.7.tar.xz
f66aefab6b7b3115ead7cf3966d6e2c6 kgamma5-5.27.7.tar.xz
614a24e70dfdcbf225047951d1bb35af ksshaskpass-5.27.7.tar.xz
#8e9460adae337baab8d80da3422f9e34 plasma-sdk-5.27.7.1.tar.xz
#69bcb008dc0c22bb9dad2f990778b46e plasma-sdk-5.27.7.5.27.7.1.tar.xz
#cba2b18c587dff393bd232d61a35046d plasma-sdk-5.27.7.tar.xz
293fa8cd57834e07c719a055e2b47fbe sddm-kcm-5.27.7.tar.xz
#7857d8972a9cc45cc3b672a6d5ff2b12 discover-5.27.7.tar.xz
#9727481d29a7468420cb1a37a0b36e9e breeze-grub-5.27.7.tar.xz
#157416774eb4bfc57a4e2caf4512f069 breeze-plymouth-5.27.7.tar.xz
cdda9f9d374615768d8a324dae92ad1d kactivitymanagerd-5.27.7.tar.xz
3e8fd694b222d4d6c3d4e2b952099fb0 plasma-integration-5.27.7.tar.xz
#7bd722f2799f4b1c562be46c5b2d0da1 plymouth-kcm-5.27.7.tar.xz
26e40eaf358dc02d71ab5cb511a5b3a8 xdg-desktop-portal-kde-5.27.7.tar.xz
ce2a9be64095829d124d4f83c14a464c drkonqi-5.27.7.tar.xz
410818deea59fc12aa3ed155e350e931 plasma-vault-5.27.7.tar.xz
4636852897f802e64501fbae5e3dfb24 plasma-browser-integration-5.27.7.tar.xz
3febab89d2fca2e67271d5e35723d7be kde-cli-tools-5.27.7.tar.xz
799ec2ab0012e47d2b1660affe5f333e systemsettings-5.27.7.tar.xz
fa9f2208c27d8a3e99c0cbb113087338 plasma-thunderbolt-5.27.7.tar.xz
#c4dbf6737cc9d8d3396214d4bed14abf plasma-nano-5.27.7.tar.xz
#74a1ec9c76b979fb8a3906204c93add4 plasma-mobile-5.27.7.tar.xz
ca0a794b2d65c9c763d0f932b2bd9c1e plasma-firewall-5.27.7.tar.xz
4f3a9803e3741521b1867303b179670a plasma-systemmonitor-5.27.7.tar.xz
29fb63dc5c266b3fe0a2e849f1a1db28 qqc2-breeze-style-5.27.7.tar.xz
2e3689a958a72aa1a09aa6edf471ce11 ksystemstats-5.27.7.tar.xz
08434c4829aefd689c877fe84baa5ad6 oxygen-sounds-5.27.7.tar.xz
#2b1b01328d062d6d9c3d92daaa26d13c aura-browser-5.27.7.tar.xz
a32fedd93e3ecef504ea28ec27cbfd55 kdeplasma-addons-5.27.7.tar.xz
1d759ab0bb02f630385e4dc267aaef6e kpipewire-5.27.7.tar.xz
553afd4e952b601147ca868b7129303d plank-player-5.27.7.tar.xz
51ad32e45ad4a0f5291d1a9ce4efa0f2 plasma-bigscreen-5.27.7.tar.xz
fb25df16ef388f7dbfc163911e7828be plasma-remotecontrollers-5.27.7.tar.xz
#507a8d13920b160b4683b093e90f6088 flatpak-kcm-5.27.7.tar.xz
#9eadbc5ec19e2122f81742e0f38941f7 plasma-welcome-5.27.7.tar.xz
EOF
Les paquets breeze-grub, breeze-plymouth et plymouth-kcm ci-dessus servent à supporter la personnalisation de Plymouth qui est conçu pour fonctionner dans un disque de ram initial pendant le démarrage (voir la section intitulée « À propos de initramfs »). Le paquet plasma-sdk est facultatif et utilisé pour le développement logiciel. Le paquet plasma-nano est utilisé pour les systèmes embarqués et plasma-phone-components fournit des fonctionnalités pour Plasma sur les téléphones. Le paquet aura-browser nécessite qtwebengine-5.15.15. Le paquet discover nécessite le paquet externe appstream-qt. Le paquet plasma-welcome nécessite le paquet externe kaccounts-integration. Le paquet flatpack-kcm permet de gérer la prise en charge des applications flatpack.
Pour l'installation de paquets multiples dans un script, les installations doivent être faites en tant qu'utilisateur root. Il y a trois options générales qui peuvent être utilisées pour faire cela :
Lancer le script entièrement en tant qu'utilisateur root (pas recommandé).
Use the sudo command from the Sudo-1.9.14p3 package.
Use su -c "command arguments" (guillemet requis) qui demandera le mot de passe root à chaque itération de la boucle.
Une façon de gérer cette situation est de créer une petite fonction bash qui sélectionne automatiquement la méthode appropriée. Une fois que la commande est initialisée dans l'environnement, il n'est plus nécessaire de le refaire.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root
Commencez par démarrer un sous-shell qui sortira s'il y a une erreur :
bash -e
Installez tous les paquets en exécutant les commandes suivantes :
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-5.27.7.md5 exit
Si vous n'avez pas configuré $KF5_PREFIX
à /usr
, créez des liens symboliques
pour permettre aux gestionnaires d'affichage de trouver
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
Si vous avez construit Plasma avec le support recommandé de
Linux PAM, créez les fichiers de
configuration nécessaires en exécutant les commandes suivantes en
tant qu'utilisateur root
:
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
Vous pouvez démarrer Plasma5 depuis un TTY avec xinit-1.4.2.
Pour démarrer Plasma5 en utilisant xinit-1.4.2, lancez les commandes suivantes :
cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 $KF5_PREFIX/bin/startplasma-x11
EOF
startx
La session X démarre dans le premier terminal virtuel inutilisé, normalement vt7. Vous pouvez passer à un autre vtn en appuyant simultanément sur les touches Ctrl-Alt-Fn (n=1, 2, ...). Pour aller sur la session X, normalement démarrée sur vt7, utilisez Ctrl-Alt-F7. Le vt où la commande startx est exécuté affichera beaucoup de messages, incluant les messages de démarrage de X, les applications automatiquement démarrées avec la session et, éventuellement, quelques avertissements et messages d'erreur. Vous pouvez préférer rediriger ces messages dans un fichier de log, qui non seulement laissera le vt initial propre, mais qui pourra aussi être utilisé pour des questions de débogage. Cela peut être fait en démarrant X avec :
startx &> ~/x-session-errors
Au redémarrage ou à l'arrêt, les messages d'arrêt apparaissent sur le vt où X était lancé. Si vous voulez voir ces messages, appuyez simultanément sur Alt-F7 (en considérant que X était lancé sur vt7).