KDE Plasma est une collection de paquets basés sur le cadriciel KDE et QML. Ils implémentent l'environnement d'affichage KDE (Plasma).
Les versions de développement de BLFS peuvent ne pas arriver à contruire ou à exécuter certains paquets correctement si LFS ou des dépendances ont été mises à jour depuis la dernière version stable des livres.
Les instructions ci-dessous permettent de construire les paquets Plasma en une seule étape avec un script bash.
Téléchargement (HTTP) : https://download.kde.org/stable/plasma/6.5.2
Somme de contrôle MD5 du téléchargement : Voir plus bas
Taille du téléchargement : 304 Mo
Estimation de l'espace disque requis : 2,9 Go (690 Mo installés)
Estimation du temps de construction : 18 SBU (avec parallélisme = 8)
Boost-1.89.0, FFmpeg-8.0.1, GTK-3.24.51, KDE Frameworks-6.20.0, kirigami-addons-1.10.0, libdisplay-info-0.3.0, libpwquality-1.4.5, libqalculate-5.8.2, libnl-3.11.0, libxcvt-0.1.3, libxkbcommon-1.13.0, Mesa-25.2.2 construit avec Wayland-1.24.0, opencv-4.12.0, phonon-4.12.0, pipewire-1.4.9, pulseaudio-qt-1.7.0, qca-2.3.10, qcoro-0.12.0, sassc-3.6.2, taglib-2.1.1, xdotool-3.20211022.1 et Xorg Evdev Driver-2.11.0
gsettings-desktop-schemas-49.1, libcanberra-0.30, libinput-1.29.2, libpcap-1.10.5, libwacom-2.17.0, et Xorg Wacom Driver-1.2.4 (pour wacomtablet), Linux-PAM-1.7.1, lm-sensors-3-6-2, oxygen-icons-6.0.0, pciutils-3.14.0, power-profiles-daemon-0.30 et les modules Python suivants : psutil-7.1.3, pygdbmi-0.11.0.0, sentry-sdk-2.35.0, urllib3-2.5.0 (s'ils ne sont pas installés, ils seront téléchargés et installés par la procédure de construction de drkonqi)
AccountsService-23.13.9, breeze-icons-6.20.0, kio-extras-25.08.3, smartmontools-7.5, xdg-desktop-portal-1.20.3 et Xwayland-24.1.9
AppStream-1.1.1 (build with -qt=true), GLU-9.0.3, ibus-1.5.33, qtwebengine-6.10.1, KDevPlatform, libgps, libhybris, packagekit-qt, Qapt, SCIM et socat (pour pam_kwallet)
La meilleure façon d'avoir les paquets de KDE Plasma est d'utiliser un seul wget pour les avoir tous en même temps :
url=https://download.kde.org/stable/plasma/6.5.2/
wget -r -nH -nd -A '*.xz' -np $url
Les options utilisées ici sont :
-r cherche récursivement dans les répertoires enfants
-nH désactive la génération des répertoires préfixés par 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-6.5.2.md5 << "EOF"
58f04117211e972efd92f922c96055cd kdecoration-6.5.2.tar.xz
1f4450689ccc7a9aa20198ac8dc0a6cc libkscreen-6.5.2.tar.xz
e1be5d31ee907ac0ff175e545b0e0a30 libksysguard-6.5.2.tar.xz
9dbd57f1b956736dd5a9b7a8ea4c3bd1 breeze-6.5.2.tar.xz
59398dd08e6f618172a79090e25f387f breeze-gtk-6.5.2.tar.xz
7b8cbb35f521ea0fb460c301fc8a9d81 layer-shell-qt-6.5.2.tar.xz
2ae4496598a51f6eaf2a9f5b3c302c77 plasma-activities-6.5.2.tar.xz
27f817a83adcc01813240921a76ab33f libplasma-6.5.2.tar.xz
38d9e490d8d8208bee2b00c26f88cfef kscreenlocker-6.5.2.tar.xz
e098b5e2d4c5a7616dbd6240240e5cab kinfocenter-6.5.2.tar.xz
9af88b31a1c8342ea9e891e628c03626 kglobalacceld-6.5.2.tar.xz
5e1524efe19ca0a22e7c34d3c0042fb0 kwayland-6.5.2.tar.xz
69a421eb481108d2def1f0ccf4137199 aurorae-6.5.2.tar.xz
8777d0ef81794ff04571eae1c2d9dba3 knighttime-6.5.2.tar.xz
68fb57c18349cae5dc411ee8b7e9f654 kwin-x11-6.5.2.tar.xz
1ed01b28a32782eaa10b28bda811c784 kwin-6.5.2.tar.xz
aa362ec117c9a7dfff82ee871aafb75c plasma5support-6.5.2.tar.xz
cbbda0dbafbd784916e9471c5fc8f6c0 plasma-activities-stats-6.5.2.tar.xz
7b30f4bd2c71d0f54ea1c3b873181323 kpipewire-6.5.2.tar.xz
a488661f1feaf83e86dbdcb964d1b827 plasma-workspace-6.5.2.tar.xz
86ae79614c7be2bcd4529cf86c94b4fc plasma-disks-6.5.2.tar.xz
49bb09528e33905794b705deff553478 bluedevil-6.5.2.tar.xz
83ecf077f949a86ac8c6e1fd1134f3ea kde-gtk-config-6.5.2.tar.xz
a852ab4c89356b47e428b8d7fe5711de kmenuedit-6.5.2.tar.xz
efea3c5c9289680b3bc0028d7b857654 kscreen-6.5.2.tar.xz
3d07bbe0e668bcb30aa377f7b74d2474 kwallet-pam-6.5.2.tar.xz
2e6842536d8a8ff7f069a6dda61d65f6 kwrited-6.5.2.tar.xz
d304d603402df595a00171ec542c51de milou-6.5.2.tar.xz
633148a8dd396c9afddcc5c8bcea117e plasma-nm-6.5.2.tar.xz
90e562569589a7ccc9b9da6d8e18801b plasma-pa-6.5.2.tar.xz
d9d3df0a1c397a9b291e185f676dcbe9 plasma-workspace-wallpapers-6.5.2.tar.xz
cc88a0ecc8daba609245136cb5359f06 polkit-kde-agent-1-6.5.2.tar.xz
147c57031bc1220465d4a6603a535b1c powerdevil-6.5.2.tar.xz
29bb939ab84528a498b006ca2142a829 plasma-desktop-6.5.2.tar.xz
0ed8da3923d8c044d739f318ecabf05a kgamma-6.5.2.tar.xz
3d2a784250aa4c782c5126275c5a6b58 ksshaskpass-6.5.2.tar.xz
#3cd4ebe01da73b50f772c2e4e5c518b4 plasma-sdk-6.5.2.tar.xz
767a80aa25321096693eb33a89449132 sddm-kcm-6.5.2.tar.xz
#4e403f30537fb87d942bc6292fa72513 discover-6.5.2.tar.xz
#7ea4c37754e831f2133d778cc3ba024b breeze-grub-6.5.2.tar.xz
#75b0138b771d2776cf38c15ece7337c2 breeze-plymouth-6.5.2.tar.xz
748b8f9764bd61f0bc89e9bca057f2bc kactivitymanagerd-6.5.2.tar.xz
0a411ba2ea20803316863915f7a1702d plasma-integration-6.5.2.tar.xz
#18131058a667fda5bee9d45626fee6d2 plymouth-kcm-6.5.2.tar.xz
aac4e8bbd9d5cdf195488f9c6e13d7e0 xdg-desktop-portal-kde-6.5.2.tar.xz
56c7d0c55024bd43b5c14ff77e374631 drkonqi-6.5.2.tar.xz
5f318f2a7e7284c385ab30940002858d plasma-vault-6.5.2.tar.xz
#72099f019b5f6835355ed05a15d0040d plasma-browser-integration-6.5.2.tar.xz
89969215ac1123b112ac9ff325e7bb8a kde-cli-tools-6.5.2.tar.xz
e1911d223164f6374bc5f24492b02832 systemsettings-6.5.2.tar.xz
f8e8ad0c0c5654abedd734c03b47cd2e plasma-thunderbolt-6.5.2.tar.xz
#05af2d5b9b5a884698a59a2a6fbdde66 plasma-mobile-6.5.2.tar.xz
#1c265e16027a5fcbe44be6fb2fa63605 plasma-nano-6.5.2.tar.xz
5833d6717d40ef290959e013753cbae2 plasma-firewall-6.5.2.tar.xz
638f11e73f908e0220d4fabee932c9fc plasma-systemmonitor-6.5.2.tar.xz
2848dcc8f8c7cf188919da3c55e373c9 qqc2-breeze-style-6.5.2.tar.xz
8f1d8564eb8134ecf203a47898a25190 ksystemstats-6.5.2.tar.xz
b4ce7000f5f96ad2d2439a97e632293a oxygen-sounds-6.5.2.tar.xz
a00742176687fd7eae75084984ef754b kdeplasma-addons-6.5.2.tar.xz
#76abe3c9f6abf7f68e96b8ee93f5b8b4 flatpak-kcm-6.5.2.tar.xz
1e094cc3ff5b8a056a20bda0fc10dace plasma-welcome-6.5.2.tar.xz
86b168a0c06a0ba86c94e08bc09e42af ocean-sound-theme-6.5.2.tar.xz
07df94e19e97f52775d31a35a0ecc60d print-manager-6.5.2.tar.xz
d95d9304abd61952db9a29a2d8bfbbba wacomtablet-6.5.2.tar.xz
#47f0fb5bf97ae5662f59ef0340edcc8c kwayland-integration-6.5.2.tar.xz
#d0711337e89dfd43aec1d30970d2add8 krdp-6.5.2.tar.xz
ab37b5180696761079325fab2c9e269d oxygen-6.5.2.tar.xz
#78074c45dc269f5593b310c385ca87af plasma-dialer-6.5.2.tar.xz
#b83bf556dcf693215097d2c3b151aa88 spacebar-6.5.2.tar.xz
1b3e818d9662e3fd65923dc7af4ec273 spectacle-6.5.2.tar.xz
EOF
Dans la liste ci-dessus, plusieurs fichiers sont commentés avec le caractère dièse (#).
Le paquet plasma-sdk est facultatif et utilisé pour le développement logiciel.
Le paquet discover nécessite que AppStream-1.1.1 soit construit avec le paramètre -D qt=true.
Les paquets breeze-grub, breeze-plymouth et plymouth-kcm plus haut sont tous utilisés pour la personnalisation de Plymouth qui est conçu pour être lancé dans un disque de ram initial pendant le démarrage (voir la section intitulée « À propos de initramfs »).
Le paquet plasma-browser-integration est conçu pour implémenter l'intégration de Plasma dans Mozilla Firefox et Google Chrome. Le paquet construit, mais il n'est utile que si vous voulez que ces navigateurs soient intégrés au bureau de façon à pouvoir voir (et contrôler) les téléchargements depuis la zone de notifications de Plasma, et qu'ils permettent de rechercher dans l'historique de navigation depuis KDE Runner. Remarquez que vous devez également installer une extension du navigateur pour que cela fonctionne. Pour plus de détails, consultez la page wiki de KDE Plasma sur l'intégration du navigateur.
Le paquet krdp est utilisé pour permettre de lancer un serveur RDP tout en utilisant Plasma. Cette fonctionnalité nécessite la version 2.x de FreeRDP, qui n'est pas dans BLFS.
Le paquet plasma-nano est utilisé pour les système embarqués.
Les paquets plasma-mobile, plasma-dialer et spacebar fournissent des fonctionnalités téléphoniques à Plasma.
Le paquet flatpak-kcm permet de gérer la prise en charge des applications flatpak.
L'application kwayland-integration nécessite la prise en charge de plasma5.
Pour l'installation de plusieurs paquets dans un script, les installations doivent être faites en tant qu'utilisateur root. Il y a trois possibilités génériques pour cela :
Exécuter le script complet en tant qu'utilisateur root (pas recommandé).
Utiliser la commande sudo du paquet Sudo-1.9.17p2.
Utiliser su -c "command arguments" (les guillemets sont nécessaires) 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 choisit 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
Tout d'abord, démarrez un sous-shell qui terminera en cas d'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
name=$( echo $pkg |sed 's|-6.*$||') # Isolate package name
packagedir=$(echo $pkg |sed 's|\.tar.*||') # Source directory
tar -xf $file
pushd $packagedir
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
-D CMAKE_INSTALL_LIBEXECDIR=libexec \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_QT5=OFF \
-D BUILD_TESTING=OFF \
-W no-dev .. &&
make
as_root make install
popd
as_root rm -rf $packagedir
as_root /sbin/ldconfig
done < plasma-6.5.2.md5
exit
Si vous n'avez pas configuré $KF6_PREFIX
à /usr, créez des liens symboliques
pour permettre aux gestionnaires d'affichage de trouver
Plasma et pour permettre à XDG
Desktop Portal d'être détecté. En tant qu'utilisateur root :
# Setup xsessions (X11 sessions) install -dvm 755 /usr/share/xsessions cd /usr/share/xsessions [ -e plasma.desktop ] || ln -sfv $KF6_PREFIX/share/xsessions/plasmax11.desktop # Setup wayland-sessions install -dvm 755 /usr/share/wayland-sessions cd /usr/share/wayland-sessions [ -e plasmawayland.desktop ] || ln -sfv $KF6_PREFIX/share/wayland-sessions/plasma.desktop # Setup xdg-desktop-portal install -dvm 755 /usr/share/xdg-desktop-portal cd /usr/share/xdg-desktop-portal [ -e kde-portals.conf ] || ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/kde-portals.conf # Setup kde portal install -dvm 755 /usr/share/xdg-desktop-portal/portals cd /usr/share/xdg-desktop-portal/portals [ -e kde.portal ] || ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/portals/kde.portal
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/kdeEOF 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-npEOF cat > /etc/pam.d/kscreensaver << "EOF"# Begin /etc/pam.d/kscreensaver auth include system-auth account include system-account # End /etc/pam.d/kscreensaverEOF
Vous pouvez démarrer Plasma depuis un TTY avec xinit-1.4.4.
Pour démarrer Plasma en utilisant xinit-1.4.4, lancez les commandes suivantes :
cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 $KF6_PREFIX/bin/startplasma-x11
EOF
startx
La session X démarre dans le premier terminal virtuel inutilisé, normalement vt7. Vous pouvez passer à vtn en pressant simultanément les touches Ctrl-Alt-Fn (n=1, 2, ...). Pour retourner à la session X, normalement démarrée dans vt7, utilisez Ctrl-Alt-F7. Le Vt où la commande startx est exécutée affichera beaucoup de messages, dont les messages de démarrage de X, les applications automatiquement démarrées avec la session et, éventuellement, quelques avertissements et erreurs. Vous pouvez préférer rediriger ces messages dans un fichier log, qui non seulement laissera vt1 propre, mais qui pourra aussi servir pour le débogage. Cela peut être fait en démarrant X avec :
startx &> ~/x-session-errors
Quand vous arrêtez ou redémarrez, les messages d'arrêt apparaissent sur le vt où X était lancé. Si vous souhaitez voir ces messages, appuyez simultanément sur Alt-F7 (en considérant que X était lancé sur vt7).