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.6.1
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.90.0, FFmpeg-8.0.1, GTK-3.24.51, KDE Frameworks-6.23.0, kirigami-addons-1.10.0, kquickimageeditor-0.6.0, libdisplay-info-0.3.0, libpwquality-1.4.5, libqalculate-5.9.0, libnl-3.12.0, libxcvt-0.1.3, libxkbcommon-1.13.1, Mesa-25.3.5 construit avec Wayland-1.24.0, opencv-4.13.0, phonon-4.12.0, pipewire-1.6.0, pulseaudio-qt-1.7.0, qca-2.3.10, qcoro-0.13.0, qtkeychain-0.15.0, sassc-3.6.2, taglib-2.2, xdotool-4.20251130.1 et Xorg Evdev Driver-2.11.0
gsettings-desktop-schemas-49.1, libcanberra-0.30, libinput-1.31.0, libpcap-1.10.6, libwacom-2.18.0, et Xorg Wacom Driver-1.2.4 (pour wacomtablet), Linux-PAM-1.7.2, lm-sensors-3-6-2, oxygen-icons-6.1.0, pciutils-3.14.0, power-profiles-daemon-0.30 et les modules Python suivants : psutil-7.2.2, pygdbmi-0.11.0.0, sentry-sdk-2.53.0, urllib3-2.6.3 (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.23.0, kio-extras-25.12.2, smartmontools-7.5, xdg-desktop-portal-1.20.3 et Xwayland-24.1.9
AppStream-1.1.2 (build with -qt=true), GLU-9.0.3, ibus-1.5.33, qtwebengine-6.10.2, 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.6.1/
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.6.1.md5 << "EOF"
4f409dfbea58c0194bb71342d0ce8f4b kdecoration-6.6.1.tar.xz
161fb91c028b345ca3cbf2757373b3ab libkscreen-6.6.1.tar.xz
9c7a297514843a3ddddc13aa47abb5d7 libksysguard-6.6.1.tar.xz
8879fbb3390fefba522a604250b03f3f breeze-6.6.1.tar.xz
2205ac176646e3ee76f1de2424f6a4ba breeze-gtk-6.6.1.tar.xz
a1932a163232ba4b04c54edfc69579b7 layer-shell-qt-6.6.1.tar.xz
14342002478d534479956cbc949254b6 plasma-activities-6.6.1.tar.xz
c812ac7dd42ec942ce06a4659d5ac69d libplasma-6.6.1.tar.xz
9087540a32c4b25658ac59e33244d8ea kscreenlocker-6.6.1.tar.xz
c1e8c561eba6f967f11ce503dafc9787 kglobalacceld-6.6.1.tar.xz
3528e0b917c4891486b12e6ed1030168 kwayland-6.6.1.tar.xz
ec2badf4cd874cd18ac765a755836338 aurorae-6.6.1.tar.xz
7677ee4d5784931db8c45fd3b48b166f knighttime-6.6.1.tar.xz
628e60b77b3eab550875de3949aa35f7 plasma-keyboard-6.6.1.tar.xz
291c3b2f46bf450b29efaa802886b86b kwin-x11-6.6.1.tar.xz
39f4e1ae9dc6a6937c3b3e7072850972 kwin-6.6.1.tar.xz
4a0f39978938484a679e8a882ea10dbd plasma5support-6.6.1.tar.xz
c1f8d27b30fd7d3a2ad5c06629e2dfa9 plasma-activities-stats-6.6.1.tar.xz
6215a4047975f1aa07f6e31e67f7f2ce kpipewire-6.6.1.tar.xz
b01b7ab2c6c73bc734e1baf0ac05a1fc plasma-workspace-6.6.1.tar.xz
99a0f1570f2eb1a556567919aafde24d plasma-disks-6.6.1.tar.xz
1308b1f70a0c2e576e00bedc149cfc5e bluedevil-6.6.1.tar.xz
120d5212507410e9e640b2cb4e05b237 kde-gtk-config-6.6.1.tar.xz
5898ecb85449eea4877ca0da8708c57e kmenuedit-6.6.1.tar.xz
0678fab975f29869dec87ea4a3b5e380 kscreen-6.6.1.tar.xz
2eff25a4f86b5846f45e067dd38de72b kwallet-pam-6.6.1.tar.xz
3ee17a85d7c6075319da15a9f96a097f kwrited-6.6.1.tar.xz
92a560fcff81cdf41dd1e002687631bb milou-6.6.1.tar.xz
b735f04dab4fad80716624dcdf19af63 plasma-nm-6.6.1.tar.xz
c8d4056e3ecff197fd8ce32b7ac3cd33 plasma-pa-6.6.1.tar.xz
16951fa7b52c45599907e28ec39f6c54 plasma-workspace-wallpapers-6.6.1.tar.xz
744e07404850d49d81c1e9b7c24c3cd2 polkit-kde-agent-1-6.6.1.tar.xz
d1a5fc36ebf96509b1b7cbafc6c50db7 powerdevil-6.6.1.tar.xz
4a28478ef792b30c1be1122043334e2e plasma-desktop-6.6.1.tar.xz
83fc20fc249fafaaff2726e05386f6c0 kgamma-6.6.1.tar.xz
d6df6a2d508082658bbef39f978a0057 ksshaskpass-6.6.1.tar.xz
#6c1b423684c274fe8aa241f744947726 plasma-sdk-6.6.1.tar.xz
2097fac4cc8921235bda91a799c14072 sddm-kcm-6.6.1.tar.xz
#6a838f81134545b07981cd415abf2b43 discover-6.6.1.tar.xz
#3270523c12fc01464f77b2aaabf40df0 breeze-grub-6.6.1.tar.xz
#706690c7a82f4d19b82541545a6e6955 breeze-plymouth-6.6.1.tar.xz
03721c95d72680c04eac7a19fa18c61f kactivitymanagerd-6.6.1.tar.xz
6e243b4916f19bf21d28179f203fb815 plasma-integration-6.6.1.tar.xz
#45fe33b0cdef10308f87bab81a579f23 plymouth-kcm-6.6.1.tar.xz
27f300c60a131df57e6b9197c124de9e xdg-desktop-portal-kde-6.6.1.tar.xz
3e33d3646b14a7183d46f2437ac381ca drkonqi-6.6.1.tar.xz
865cc1c13294a010acb3dea4989b6f97 plasma-vault-6.6.1.tar.xz
#33eb76e30f3b2b8524af88197252d2b0 plasma-browser-integration-6.6.1.tar.xz
9a693af35e8c8344a2c16460dcb56f84 kde-cli-tools-6.6.1.tar.xz
50a59eb8f544c1d60e0327aee273a62b systemsettings-6.6.1.tar.xz
#33bc395b7c8a9763046156069764f640 plasma-mobile-6.6.1.tar.xz
#ec77afad227127067e0c0f52dca2e212 plasma-nano-6.6.1.tar.xz
cc609934f45af383cc97477b677c5681 plasma-firewall-6.6.1.tar.xz
906d76eee16fcafd6b01c139f9413167 plasma-systemmonitor-6.6.1.tar.xz
9b9269172e245bba8d3c177ac9f47da9 qqc2-breeze-style-6.6.1.tar.xz
32a2d492b1d2b8f8eadd7f1da56e9fc5 ksystemstats-6.6.1.tar.xz
90909df56c06abb57ea3ff86b0ea704a oxygen-sounds-6.6.1.tar.xz
f0d88d636c596e7f5c00dbf22f6d0d74 kdeplasma-addons-6.6.1.tar.xz
#7336030eef5bd5e8f05190590083f78b flatpak-kcm-6.6.1.tar.xz
94c59f878c783f9a9423d6c07e5b523e plasma-welcome-6.6.1.tar.xz
b4f2ab10ef951cbdd272b231e6aa54ab ocean-sound-theme-6.6.1.tar.xz
ec71ea05a3e2a47207e356df869621b0 print-manager-6.6.1.tar.xz
a6c3248da1dae904438e3adf88a4abec wacomtablet-6.6.1.tar.xz
#5a25a38d722beaa030a6418a746a9939 kwayland-integration-6.6.1.tar.xz
#1006dcf255da969bb6d09899a67d6c74 krdp-6.6.1.tar.xz
33349b83b2a2415704544ea2300dbee1 oxygen-6.6.1.tar.xz
#0eb4c0b91699d639960d4d2270335522 plasma-dialer-6.6.1.tar.xz
#7a647c072b8b53fae615d3e66380d27b spacebar-6.6.1.tar.xz
11a7dcf6aec63d51bfba2e40ec669ac6 spectacle-6.6.1.tar.xz
#1c707b638d35a7f4c76536dfc6cc3d1a plasma-login-manager-6.6.1.tar.xz
859c41b0e80c7b30e91f5f37f9060b0e plasma-setup-6.6.1.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.2 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.
L'application plasma-login-manager fournit un gestionnaire d'affichage pour KDE Plasma, provenant de SDDM avec une nouvelle interface graphique qui fournit un écran d'accueil, l'intégration du greffon de fond d'écran et le module des paramètres systèmes (KCM).
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.6.1.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).