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.1 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.10
Somme de contrôle MD5 : Voir ci-dessous
Taille du téléchargement : 243 Mo
Estimation de l'espace disque requis : 1,7 Go (419 Mo installés)
Estimation du temps de construction : 7,6 SBU (avec parallélisme = 4)
GTK+-3.24.41, KDE Frameworks-5.115.0, kuserfeedback-1.3.0, libpwquality-1.4.5, libqalculate-4.9.0, libxcvt-0.1.2, libxkbcommon-1.6.0, Mesa-24.0.1 construit avec Wayland-1.22.0, NetworkManager-1.44.2, pipewire-1.0.3, PulseAudio-17.0, qca-2.3.8, sassc-3.6.2, taglib-2.0 et xcb-util-cursor-0.1.4
fftw-3.3.10, gsettings-desktop-schemas-45.0, libdbusmenu-qt-0.9.3+16.04.20160218, libcanberra-0.30, libinput-1.25.0, libpcap-1.10.4, Linux-PAM-1.6.0, lm-sensors-3-6-0, oxygen-icons-5.115.0, pciutils-3.10.0 et power-profiles-daemon-0.20 (pour les ordinateurs portables)
AccountsService-23.13.9, smartmontools-7.4, xdg-desktop-portal-1.18.2 et Xwayland-23.2.4
AppStream-1.0.1 (construit avec -qt=true), GLU-9.0.3, ibus-1.5.29, qtwebengine-5.15.17, Xorg Synaptics Driver-1.9.2, KDevPlatform, libgps, libhybris, libraw1394, packagekit-qt, Qalculate, Qapt, SCIM et socat (for pam_kwallet)
qtwebengine-5.15.17 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.
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.10/
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.10.md5 << "EOF"
a1361a811dc93389d0ce771d1ff82c3a kdecoration-5.27.10.tar.xz
1f491e823bc83df650d04d5d9948da45 libkscreen-5.27.10.tar.xz
571aa0c18a14ee74f3081f96f73a7f9d libksysguard-5.27.10.tar.xz
541d1b06db3b707a7a73df1526f37b44 breeze-5.27.10.tar.xz
9acdc232ea675b761e7386837f25f420 breeze-gtk-5.27.10.tar.xz
54562594af547614648cded522c3e747 layer-shell-qt-5.27.10.tar.xz
c44cfe3ba7fb03fc30b2ae305f16ed79 kscreenlocker-5.27.10.tar.xz
171949dd2dfc3b2325c959389694860a oxygen-5.27.10.tar.xz
0ef8d9f18707712fc4bcccf59138f2c7 kinfocenter-5.27.10.tar.xz
e4e4409af71c4f5a67aa35c04f6b2bc7 kwin-5.27.10.tar.xz
5c2ff5158503e983207e700ce513e929 plasma-workspace-5.27.10.tar.xz
46001c7671f7ff2f08ca0dd9c3cdbf3f plasma-disks-5.27.10.tar.xz
820566ae6effedbdd208a78e0031bf67 bluedevil-5.27.10.tar.xz
490bd81c915f332b65631b87b6eaa49d kde-gtk-config-5.27.10.tar.xz
7cade9cfce3ef14f14f55cd7a50fd7cf khotkeys-5.27.10.tar.xz
e98c999e6ee7f9bbe775d4e512368420 kmenuedit-5.27.10.tar.xz
24bc4ed3ad5587bd05591aafd758df2c kscreen-5.27.10.tar.xz
3ab1c88cf91f0fb46ae3395d57709e12 kwallet-pam-5.27.10.tar.xz
53d59d76b3dfac5f755d607798b08f85 kwayland-integration-5.27.10.tar.xz
d7a9f2999352e91d504d52ad65336d9b kwrited-5.27.10.tar.xz
8a51e19d58acebb89a919b7377d8bc83 milou-5.27.10.tar.xz
0e11c62c2a23d161b5b8cbe6e87517bc plasma-nm-5.27.10.tar.xz
02657d8fd46384f75ffe9c504f7c97b4 plasma-pa-5.27.10.tar.xz
5c1cbd459e786deb16d5615748114bfa plasma-workspace-wallpapers-5.27.10.tar.xz
17302ca60f68e13e85bc24a4ec873622 polkit-kde-agent-1-5.27.10.tar.xz
cc39dc5777614bd89ae96d38008dc7c9 powerdevil-5.27.10.tar.xz
2417bb974152d4f2274ebe3b7b524ca8 plasma-desktop-5.27.10.tar.xz
f51521902f0665349c0fa012590a1eec kgamma-5.27.10.tar.xz
e95d6813c180b078be4bf40550791e26 ksshaskpass-5.27.10.tar.xz
#8c52fad441ffe43969458ae71b6a2f26 plasma-sdk-5.27.10.tar.xz
1af573d08dd99879f27c5a2b55b02bc9 sddm-kcm-5.27.10.tar.xz
#560ac5c60112e18bb44c46eec3563d7d discover-5.27.10.tar.xz
#3af40cfe47213087d2a8c89132ff004d discover-5.27.10.1.tar.xz
#2cd0a4e1e3e89197e18f48d893c0f2d6 breeze-grub-5.27.10.tar.xz
#fe7bb4efec17206a9faceb9cfe35fbf5 breeze-plymouth-5.27.10.tar.xz
5bbb5c7a2985f8d7b8816a35d517d333 kactivitymanagerd-5.27.10.tar.xz
c1810c7d54842028fb5968097add5538 plasma-integration-5.27.10.tar.xz
#75bedf5da4b7497a18238011d12bec26 plymouth-kcm-5.27.10.tar.xz
440dd7cb1f43d7d86862a1165b48c4f2 xdg-desktop-portal-kde-5.27.10.tar.xz
657984f8356578253e1911c8d35041f6 drkonqi-5.27.10.tar.xz
912db896afe71a8283e36037b4bba79e plasma-vault-5.27.10.tar.xz
e03d33ca8a9905df3c2901cef5512a14 plasma-browser-integration-5.27.10.tar.xz
30797f3809675e61542518f9b15be2c3 kde-cli-tools-5.27.10.tar.xz
1319f82a4043456a4cb99cfcc2ba90fe systemsettings-5.27.10.tar.xz
2861104cf1e31393d9cd87701042d3aa plasma-thunderbolt-5.27.10.tar.xz
#79ffc86387c7024bd834b349fba9b79f plasma-nano-5.27.10.tar.xz
#802d5a3cd34f5ec3825c21905f0ed9db plasma-mobile-5.27.10.tar.xz
1f4875f2cf9c0d949961aa9ad6635e6f plasma-firewall-5.27.10.tar.xz
b6648b45d9824b565dda1f100e7d83a6 plasma-systemmonitor-5.27.10.tar.xz
8e46e5afde739a6361b1838f71eb182d qqc2-breeze-style-5.27.10.tar.xz
fd93592f9895c5c09f4c0db771c1710a ksystemstats-5.27.10.tar.xz
4f55bb4490751abb23046165d68e8ca7 oxygen-sounds-5.27.10.tar.xz
#6300c88c07debeb60760dede52a791ee aura-browser-5.27.10.tar.xz
00afc45528267a5e2ec11b47b8a7779b kdeplasma-addons-5.27.10.tar.xz
7f432fbb0d205d6e30714e731f91a459 kpipewire-5.27.10.tar.xz
5f37a2e3acf00a0616e13d86ed225d7f plank-player-5.27.10.tar.xz
f3a08cefe61643273a9e06cfd6b2746a plasma-bigscreen-5.27.10.tar.xz
a69142a27ab62c583fa5d4d4577427ff plasma-remotecontrollers-5.27.10.tar.xz
#16e67ca215d44ec59130214ca6e13e80 flatpak-kcm-5.27.10.tar.xz
#4ef3e1d988e5edfa8ee20f9373a82680 plasma-welcome-5.27.10.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. Le paquet plasma-mobile fournit des fonctionnalités pour Plasma sur les téléphones. Le paquet aura-browser nécessite qtwebengine-5.15.17. Le paquet discover nécessite que AppStream-1.0.1 soit construit avec le paramètre -Dqt=true. La version discover-5.27.10.1 du paquet est une mise à jour par rapport à la version précédente. 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.15p5 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.10.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 et pour permettre à XDG
Desktop Portal d'être détecté :
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 as_root install -dvm 755 /usr/share/xdg-desktop-portal && cd /usr/share/xdg-desktop-portal/ && [ -e kde-portals.conf ] || as_root ln -sfv $KF5_PREFIX/share/xdg-desktop-portal/kde-portals.conf as_root install -dvm 755 /usr/share/xdg-desktop-portal/portals && cd /usr/share/xdg-desktop-portal/portals && [ -e kde.portal ] || as_root ln -sfv $KF5_PREFIX/share/xdg-desktop-portal/portals/kde.portal
Des unités systemd inutiles ont été installées dans $KF5_PREFIX/lib
. Supprimez-les maintenant (en
tant que root
) :
rm -rf $KF5_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/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 le niveau d'exécution 3, en utilisant xinit-1.4.2, ou depuis le niveau d'exécution 5, en utilisant un gestionnaire d'affichage, tel que lightdm-1.32.0.
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).