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

This package is known to build and work properly using an LFS-11.1 platform.

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.31, KDE Frameworks-5.91.0, libpwquality-1.4.4, libqalculate-4.0.0, libxkbcommon-1.4.0, Mesa-21.3.6 construit avec Wayland-1.20.0, NetworkManager-1.34.0, pipewire-0.3.47, PulseAudio-15.0, 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.25, qtwebengine-5.15.8, Xorg Synaptics Driver-1.9.1, 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.8 : 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.0/
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.0.md5 << "EOF"
d5a143b93d183e46d2d9eecb65ca32d6  kdecoration-5.24.0.tar.xz
25328009546df7703a45a51c27befc76  libkscreen-5.24.0.tar.xz
3869c4c0c3acc7fcb2a210aac6480249  libksysguard-5.24.0.tar.xz
3065e58dd9832b419e68b38921a97c24  breeze-5.24.0.tar.xz
6fad933f0ee6f852ae58d906444b9595  breeze-gtk-5.24.0.tar.xz
7eae43606459dd0a288d5c081d9a6a2a  layer-shell-qt-5.24.0.tar.xz
127f90c5e77d404949446813baf7d61a  kscreenlocker-5.24.0.tar.xz
626ae567af6b34bb3f8a0ffc18093e95  oxygen-5.24.0.tar.xz
f9a542276e05b3b4cb9fbd32c541a552  kinfocenter-5.24.0.tar.xz
cad3dc7c0b9ca2faa9f8d25b4b2d857d  kwayland-server-5.24.0.tar.xz
a401b80ab133740bb9c006cdf0eaedbf  kwin-5.24.0.tar.xz
56e20e9dd1767457613592c1edece60b  plasma-workspace-5.24.0.tar.xz
c8aa0ccd5cf5b428e16a25410f8ac33f  plasma-disks-5.24.0.tar.xz
6b7e9f27503c829924048bf65a0c4763  bluedevil-5.24.0.tar.xz
5dcd7cb3e9401942b1307ec65dcf7ea5  kde-gtk-config-5.24.0.tar.xz
5a289a97f76a416a9ac6a62dc8fe733a  khotkeys-5.24.0.tar.xz
a7485966e66b63f50eddbcbc4790832c  kmenuedit-5.24.0.tar.xz
507d12a9237fded95bbd1532e4a7b66b  kscreen-5.24.0.tar.xz
4c2f698253f260a955ed1867d1ec9007  kwallet-pam-5.24.0.tar.xz
1e5ff352ea3b039b112efe37677eff45  kwayland-integration-5.24.0.tar.xz
4f3d56f758541d046ad69e842fccac7b  kwrited-5.24.0.tar.xz
5e1d46d9bf8d0a03694903e83d070e3f  milou-5.24.0.tar.xz
b6e7be0be859d21947284e233d6e2931  plasma-nm-5.24.0.tar.xz
d99ceab1dd9986122690a4b24d50b114  plasma-pa-5.24.0.tar.xz
bad6e9079ac8ad192b8375242e5b1121  plasma-workspace-wallpapers-5.24.0.tar.xz
eacdd3ef241f27d7ae68abce49d47a45  polkit-kde-agent-1-5.24.0.tar.xz
8b1299077c31395e2f04b28d94d1ca06  powerdevil-5.24.0.tar.xz
8c07b6d13e9ed8965abb38f0c3bdfdbf  plasma-desktop-5.24.0.tar.xz
0f52913bec0b9ae5fe7c39b7eb7c0822  kdeplasma-addons-5.24.0.tar.xz
3dfd5a918fe12eaec8cf3fc291c69bfb  kgamma5-5.24.0.tar.xz
63bd9da2abdbffb38f7b89d4d1e6e52b  ksshaskpass-5.24.0.tar.xz
#e4353dc4d36d9ed54d25df4e2538ef04  plasma-sdk-5.24.0.tar.xz
9f4568cf9b1ace13f082bb38f45f0079  sddm-kcm-5.24.0.tar.xz
1759fb71e190f0fd506e98f68d1df938  discover-5.24.0.tar.xz
#89000e84cca76de236e576c922979352  breeze-grub-5.24.0.tar.xz
#5f34ae758eab4fc8343e2fad5b7afbfb  breeze-plymouth-5.24.0.tar.xz
f2485f5a857898ae47c256ae8d9b4893  kactivitymanagerd-5.24.0.tar.xz
050d04b18ce5f00fb7dfef31000d88b6  plasma-integration-5.24.0.tar.xz
1eab4ed3b88ef3a712223afc4c116a7d  plasma-tests-5.24.0.tar.xz
#8b19cc2d7929cf988a44606a3eba7644  plymouth-kcm-5.24.0.tar.xz
9aafa58faea1bd7f90776f6e63d3866a  xdg-desktop-portal-kde-5.24.0.tar.xz
fe87c0f534cbefe3955faecfe5fcfc4d  drkonqi-5.24.0.tar.xz
c6f224eb9eb6f87e0af1464d7a933d09  plasma-vault-5.24.0.tar.xz
d3c42b17d180af6ddf9821abd6f36d7e  plasma-browser-integration-5.24.0.tar.xz
a7157d0f6a12d2da890643b30bb02967  kde-cli-tools-5.24.0.tar.xz
3c7a50b0eb124cb6d1886cc89a0de5e8  systemsettings-5.24.0.tar.xz
e6346ea04baa5c25e706145777a193dc  plasma-thunderbolt-5.24.0.tar.xz
#e4daa179a4bce0f03f4988186dfe3e31  plasma-nano-5.24.0.tar.xz
#3e0e67f2a798b51025cb97a750fc1dea  plasma-phone-components-5.24.0.tar.xz
#3e0e67f2a798b51025cb97a750fc1dea  plasma-mobile-5.24.0.tar.xz
2c43882de9c657073aed4df2c01eeac4  plasma-firewall-5.24.0.tar.xz
886d89f75a6ba9324586154816a9bcef  plasma-systemmonitor-5.24.0.tar.xz
61903525c0e1585cb00e1b7c7c690145  qqc2-breeze-style-5.24.0.tar.xz
f1e7a6af9a0862cc8812426e4d040be6  ksystemstats-5.24.0.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.9 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.0.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.30.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