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.7.4
Somme de contrôle MD5 du téléchargement : Voir plus bas
Taille du téléchargement : 343 Mo
Estimation de l'espace disque requis : 3,5 Go (821 Mo installés)
Estimation du temps de construction : 19 SBU (avec parallélisme = 8)
Boost-1.92.0, corrosion-0.6.1, FFmpeg-9.0.1, GTK-3.24.52, KDE Frameworks-6.29.0, kirigami-addons-1.13.1, kquickimageeditor-0.6.2.1, libdisplay-info-0.4.0, libpwquality-1.4.5, libqalculate-5.12.0, libnl-3.12.0, libxcvt-0.1.3, libxkbcommon-1.13.2, Mesa-26.1.7 construit avec Wayland-1.26.0, opencv-4.13.0, phonon-4.12.0, pipewire-1.6.8, pulseaudio-qt-1.8.1, qca-2.3.10, qcoro-0.13.0, qtkeychain-0.16.0, sassc-3.6.2, taglib-2.3.1, tesseract-5.5.3, xdotool-4.20260303.1 et Xorg Evdev Driver-2.11.0
bolt-0.9.11, gsettings-desktop-schemas-50.1, libcanberra-0.30, libinput-1.31.3, libpcap-1.10.6, libwacom-2.19.1, et Xorg Wacom Driver-1.2.4 (pour wacomtablet), Linux-PAM-1.7.2, lm-sensors-3-6-2, oxygen-icons-6.29.0, pciutils-3.15.0, power-profiles-daemon-0.30 et les modules Python suivants : psutil-7.2.2, pygdbmi-0.11.0.0, sentry-sdk-2.68.0, urllib3-2.7.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-26.27.3, breeze-icons-6.29.0, kio-extras-26.04.3, smartmontools-7.5, xdg-desktop-portal-1.22.1 et Xwayland-24.1.13
AppStream-1.1.6 (build with -qt=true), GLU-9.0.3, ibus-1.5.34, qtwebengine-6.11.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.7.4/
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.7.4.md5 << "EOF"
2a668e675bdf8dd5ae06b1e8b68a1f7e kdecoration-6.7.4.tar.xz
227422d0896d13924d99a74707b3e05c libkscreen-6.7.4.tar.xz
190204011ed963eed51d1bde7a2fdf8f libksysguard-6.7.4.tar.xz
b5684af3d9c5f65056ce4b64e0c59a3c breeze-6.7.4.tar.xz
a6501aa2fbd1b520e3cdb3122e7f3a60 breeze-gtk-6.7.4.tar.xz
34f89e74bc586c7e280ac512f8474691 layer-shell-qt-6.7.4.tar.xz
6a331108a351cee3c3c4649bdf880501 plasma-activities-6.7.4.tar.xz
d968787e8579337c7749bcabb860e5e9 libplasma-6.7.4.tar.xz
70129667dcb43f4ee8c9a12240a7850d kscreenlocker-6.7.4.tar.xz
60664e1402c27654632456362613fa12 kglobalacceld-6.7.4.tar.xz
020f2d5ae392678298050babb4e60337 kwayland-6.7.4.tar.xz
e3117b48474022601917b1643f629656 aurorae-6.7.4.tar.xz
b035d3a464916c60a21b8a57d0698612 knighttime-6.7.4.tar.xz
c3d800536ee56ecda08019fe1226b301 plasma-keyboard-6.7.4.tar.xz
b5b51b6b7568329a8cf1190bdeba6e4a kwin-6.7.4.tar.xz
e53ce629f3c963b3b17a236a0bd867b2 kwin-x11-6.7.4.tar.xz
649967c3120b2eacf73969528d7f6191 plasma5support-6.7.4.tar.xz
bc863afab26218d4105eff8d39ecadca plasma-activities-stats-6.7.4.tar.xz
4d1b0c26f8b55e117388ccf8c48a6f14 kpipewire-6.7.4.tar.xz
05560389f2f05f669e009c2fd0ebe59f plasma-workspace-6.7.4.tar.xz
a8cc96ebd2c5151d36d442ccc11a8733 plasma-disks-6.7.4.tar.xz
572ef1ebb4acd46b0f6b8dcecff97993 bluedevil-6.7.4.tar.xz
1938ec7c3ddd15229974f319bede1400 kde-gtk-config-6.7.4.tar.xz
f0b635c72c777d56f4d0e129f350304f kmenuedit-6.7.4.tar.xz
4ac0f5f96942c954bb1e2c5d9022775e kscreen-6.7.4.tar.xz
e6073ba97e05a06c0ee3d6141e2cf387 kwallet-pam-6.7.4.tar.xz
3f7e64d7ad382a5c4fc9a4cc83d6c0a4 kwrited-6.7.4.tar.xz
3060fbba5172818f9020cb58d4954ec4 milou-6.7.4.tar.xz
2dd1ab12f435d709e055b635629f5c14 plasma-nm-6.7.4.tar.xz
7060baf2c23ac660cfd410dd1966199f plasma-pa-6.7.4.tar.xz
c5d1d25a57d6c15a489b01874faa6328 plasma-workspace-wallpapers-6.7.4.tar.xz
318152d6ed611fc6ad5d4b865736f91f polkit-kde-agent-1-6.7.4.tar.xz
b22d49f39d68c06fa0dccd1f0b020d0b powerdevil-6.7.4.tar.xz
ac1a9aac994ae3cb85eaa99188669ecf plasma-desktop-6.7.4.tar.xz
6a491e214b16835c855776bc2ddad64e kgamma-6.7.4.tar.xz
b1788bd5285df58b80f74f8430b1e43a ksshaskpass-6.7.4.tar.xz
#93fa4cc83b05e191730df4525c724774 plasma-sdk-6.7.4.tar.xz
317ca68615ef017390275a222b15ce9d sddm-kcm-6.7.4.tar.xz
#35282b0e26bbe89b7da2f136ebd43fe1 discover-6.7.4.tar.xz
#7de6ed35df494409cc27142696c3dd84 breeze-grub-6.7.4.tar.xz
#cf245907c918bc9530e4ab9349f55c23 breeze-plymouth-6.7.4.tar.xz
4fac322a8f29f9368c2dc4df8ac1550a kactivitymanagerd-6.7.4.tar.xz
270a34cd1483afba2295c18ee09c5da7 plasma-integration-6.7.4.tar.xz
#e5a59138ebef078776c9c8a5957f5cc4 plymouth-kcm-6.7.4.tar.xz
3973cb7ade619898813fbb17a6dd39a1 xdg-desktop-portal-kde-6.7.4.tar.xz
cc4b7b53165f9b458743a3e732c7eebf drkonqi-6.7.4.tar.xz
bed38426773005100e6059874e8f1d54 plasma-vault-6.7.4.tar.xz
#3c985ed775c64cb4eaf7047098a515fc plasma-browser-integration-6.7.4.tar.xz
2c6f6683c45669f1a7a3bb297f6a16b6 kde-cli-tools-6.7.4.tar.xz
23e88b2df1b3ddf58022ce658a831d1c systemsettings-6.7.4.tar.xz
#f51e98d278d37b99cb260fd11141f12b plasma-mobile-6.7.4.tar.xz
#a7e2f1cd72faf3dd3c988337d1f730db plasma-nano-6.7.4.tar.xz
b2d5232b994b197a0524f1982069715c plasma-firewall-6.7.4.tar.xz
71e9c21163c2304bea2cbf1c013811d1 plasma-systemmonitor-6.7.4.tar.xz
97bd995296967e15827b872e7d8d2466 qqc2-breeze-style-6.7.4.tar.xz
cc47c85067e1db3b084c94e07e650398 ksystemstats-6.7.4.tar.xz
a3673682283357c8f04e89606af11d93 oxygen-sounds-6.7.4.tar.xz
fface9f4ea1a88a2e37b01edd8757db5 kdeplasma-addons-6.7.4.tar.xz
#368e89588052aad475f25468996d432d flatpak-kcm-6.7.4.tar.xz
3085f2d5441d8be0e1f68ec2408afcd5 plasma-welcome-6.7.4.tar.xz
6096363f350019ccb5a269779d3837d5 ocean-sound-theme-6.7.4.tar.xz
7e54089100df8684ce3e421f0f85b26e print-manager-6.7.4.tar.xz
6b25901d6278559630a849b1e10a1fcc wacomtablet-6.7.4.tar.xz
#98b9ab5cce0e6f15b94c5473437c776b kwayland-integration-6.7.4.tar.xz
#2e4786a19dcba04d94c3bff46a167eef krdp-6.7.4.tar.xz
360d670ed2bb8aa1286d466539011106 oxygen-6.7.4.tar.xz
#895f1aff8fb4d347e935237d9c83c1ee plasma-dialer-6.7.4.tar.xz
#974b77c0b9a1af2864ade856c0b42b51 spacebar-6.7.4.tar.xz
49398c5c4d5cef31ffb07b4cc36a4a8e spectacle-6.7.4.tar.xz
#fcf0d9b0b50d85000135646e97a1296d plasma-login-manager-6.7.4.tar.xz
001cae1a7e6326074643dde0f097498e plasma-setup-6.7.4.tar.xz
780166b539d9c9800ad096d9f3ca48ad kinfocenter-6.7.4.tar.xz
b9129e3342abb80f4b43d160d26dcb15 plasma-thunderbolt-6.7.4.tar.xz
#936d3d9689ea25070f356aa0c4b64c40 plasma-bigscreen-6.7.4.tar.xz
#60fecb60b6d7c0117a637a5d7eabf714 union-6.7.4.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.6 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-author .. &&
make
as_root make install
popd
as_root rm -rf $packagedir
as_root /sbin/ldconfig
done < plasma-6.7.4.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
Des unités systemd inutiles ont été installées dans $KF6_PREFIX/lib. Supprimez-les maintenant (en
tant que root) :
rm -rf $KF6_PREFIX/lib/systemd
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 le niveau d'exécution 3, en utilisant xinit-1.4.4, ou depuis le niveau d'exécution 5, en utilisant un gestionnaire d'affichage, tel que lightdm-1.33.1.
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).