Construction de Plasma 5

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).

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Les instructions suivantes construisent tous les paquets Plasma 5 en une étape en utilisant un script bash.

Informations sur le paquet

Dépendances de Plasma 5

Requises

GTK+-2.24.33, GTK+-3.24.34, KDE Frameworks-5.94.0, libpwquality-1.4.4, libqalculate-4.2.0, libxkbcommon-1.4.1, Mesa-22.1.4 construit avec Wayland-1.21.0, NetworkManager-1.38.2, pipewire-0.3.54, PulseAudio-16.1, qca-2.3.4, sassc-3.6.2, taglib-1.12 et xcb-util-cursor-0.1.3

Recommandées

Recommandées (à l'exécution)

Facultatives

GLU-9.0.2, ibus-1.5.26, qtwebengine-5.15.10, Xorg Synaptics Driver-1.9.2, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM et socat (pour pam_kwallet)

[Note]

Note

Seuls deux paquets de plasma utilisent éventuellement qtwebengine-5.15.10 : 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 utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/kf5

Téléchargement de KDE Plasma5

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.24.5/
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

Initialisation de l'ordre des paquets

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.24.5.md5 << "EOF"
f239aaffb15592e8d35f250763de0928  kdecoration-5.24.5.tar.xz
97ef068eddbe1d00c920192d1500dd93  libkscreen-5.24.5.tar.xz
6d43b014fcf7d220653c82c9187ad238  libksysguard-5.24.5.tar.xz
558c03416d5e97946857232ff4a205fe  breeze-5.24.5.tar.xz
1f728695039f0354474e0d77d94ec609  breeze-gtk-5.24.5.tar.xz
91adcae1cd632ca63d309bb2f55afbc6  layer-shell-qt-5.24.5.tar.xz
fd288ff836cc804e3f87dd2f5bf73350  kscreenlocker-5.24.5.tar.xz
4610a92cb8b16ca1dedfd343b9f2550c  oxygen-5.24.5.tar.xz
4dd8450c600a4f0ba418d937e5b7aee7  kinfocenter-5.24.5.tar.xz
598ae49b82277a94c5b35ac2b22f2cee  kwayland-server-5.24.5.tar.xz
a92ef62e3780435009e1d67623727d9e  kwin-5.24.5.tar.xz
1756314f3b95077a4a177d6e150c0c74  plasma-workspace-5.24.5.tar.xz
681b486cc87c2cddd24a6a6051907dd4  plasma-disks-5.24.5.tar.xz
6e8da61b41691b811f0029d0692af2b8  bluedevil-5.24.5.tar.xz
f3eed29817d18a008012b70d64935894  kde-gtk-config-5.24.5.tar.xz
4f09f37ac7ebce792e2a12d582677370  khotkeys-5.24.5.tar.xz
ab0af707f54eb2c3272123613fff0546  kmenuedit-5.24.5.tar.xz
8480ee90af0592d04b8d13747c9dc984  kscreen-5.24.5.tar.xz
0ee9d2bcc73d974fb06d0ac4a0e96e11  kwallet-pam-5.24.5.tar.xz
aae5d820d1ecd19301a23cb672c9a45a  kwayland-integration-5.24.5.tar.xz
589eb5c7d72ca98478da6f1ff3575cd7  kwrited-5.24.5.tar.xz
02bb77b13e49ad6e5b6defb3c672868a  milou-5.24.5.tar.xz
fad6a3d603afffd3ef8312c58aa810a1  plasma-nm-5.24.5.tar.xz
5c824cba591a84e2a04d8864f42e74d9  plasma-pa-5.24.5.tar.xz
e2bc71e7ee87a399f28c7c31b74eab9d  plasma-workspace-wallpapers-5.24.5.tar.xz
61be40b45e827a149d964a11275d75b6  polkit-kde-agent-1-5.24.5.tar.xz
ac1e83397316954fb587c86d00f04591  powerdevil-5.24.5.tar.xz
c8209bc8147b8e556b59270af9b90666  plasma-desktop-5.24.5.tar.xz
1e64236fd3f83c2244b7f43786e5973e  kdeplasma-addons-5.24.5.tar.xz
e9544512d566ec8c862d415c688cad5a  kgamma5-5.24.5.tar.xz
d3e087db5fdc3e5a98efbfbc4a874aa4  ksshaskpass-5.24.5.tar.xz
#54d583f14b4b40df4c8e322c143adbdd  plasma-sdk-5.24.5.tar.xz
c8c3287e326972154da67308375fd0e1  sddm-kcm-5.24.5.tar.xz
2fd1053fbd3ca2c6a64be171af7f665a  discover-5.24.5.tar.xz
#c4d0743364fc32708a7318f470beeeb9  breeze-grub-5.24.5.tar.xz
#ca6fada97e8026f78612ca19aec3482b  breeze-plymouth-5.24.5.tar.xz
3ccd98acb7b5ba78c6c474cb6904e5e6  kactivitymanagerd-5.24.5.tar.xz
e4707182dc0508c4fbbdf495067b7e80  plasma-integration-5.24.5.tar.xz
448e85a197a6ae9c49fa8d9a24a8abea  plasma-tests-5.24.5.tar.xz
#951d95f902aca5152a419afe920c628a  plymouth-kcm-5.24.5.tar.xz
b25ed347b50f472d2bba7b5b4e2e75a7  xdg-desktop-portal-kde-5.24.5.tar.xz
ec09f5df5604ea250afd4938b11cde47  drkonqi-5.24.5.tar.xz
0b761d3db81fd14e94e27b022209c62a  plasma-vault-5.24.5.tar.xz
e123ec241c17a9c726b79f372d736ce3  plasma-browser-integration-5.24.5.tar.xz
263e1a645e19b6daed9743540217da8f  kde-cli-tools-5.24.5.tar.xz
51314142bc96fd1864049f0727540e5f  systemsettings-5.24.5.tar.xz
e668b7a16a6702ff512bdfdfd9588b0e  plasma-thunderbolt-5.24.5.tar.xz
#335215fd402c5e886be13a7cdae746f5  plasma-nano-5.24.5.tar.xz
#708ffe8a2d7240ac125c92c266128ce9  plasma-mobile-5.24.5.tar.xz
8373a21b1d528acbd26e399d2e0d7fc9  plasma-firewall-5.24.5.tar.xz
8df48f0a22ce12e3dfb569b74b4cb549  plasma-systemmonitor-5.24.5.tar.xz
3213768a9b54727e062bea6480916193  qqc2-breeze-style-5.24.5.tar.xz
f145d63e307ef51eae8f6854005efe44  ksystemstats-5.24.5.tar.xz
EOF
[Note]

Note

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.

Installation de Plasma5

[Note]

Note

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 :

  1. Lancer le script entièrement en tant qu'utilisateur root (pas recommandé).

  2. Use the sudo command from the Sudo-1.9.11p3 package.

  3. 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.24.5.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

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

Configuration de Plasma

Configuration de Linux PAM

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

Démarrage de Plasma5

Vous pouvez démarrer Plasma5 depuis le niveau d'exécution 3, en utilisant xinit-1.4.1, ou depuis le niveau d'exécution 5, en utilisant un gestionnaire d'affichage, comme lightdm-1.32.0.

Pour démarrer Plasma5 en utilisant xinit-1.4.1, lancez les commandes suivantes :

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-session $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 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).

Contenu

Programmes installés: Il y a trop de programmes plasma (63 dans /opt/kf5/bin) pour les lister séparément ici.
Bibliothèques installées: Il y a trop de bibliothèques plasma (40 dans /opt/kf5/lib) pour les lister séparément ici.
Répertoires installés: Il y a trop de répertoires plasma (plus de 1000 dans /opt/kf5) pour les lister séparément ici.

Last updated on