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

Ce paquet est connu pour se construire correctement sur une plateforme LFS-9.1.

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

GConf-3.2.6, GTK+-2.24.32, GTK+-3.24.21, KDE Frameworks-5.70.0, libpwquality-1.4.2, libxkbcommon-0.10.0, Mesa-20.1.5 construit avec Wayland-1.18.0, NetworkManager-1.26.0, pipewire-0.3.9, PulseAudio-13.0, qca-2.3.1, sassc-3.6.1, taglib-1.11.1 et xcb-util-cursor-0.1.3

Recommandées

Facultatives

GLU-9.0.1, ibus-1.5.22, Xorg Synaptics Driver-1.9.1, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM et socat (pour pam_kwallet)

Notes utilisateur : http://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=http://download.kde.org/stable/plasma/5.18.5/
wget -r -nH -nd -A '*.xz' -np $url

The options used here are:
  -r            recurse through child directories
  -nH           disable generation of host-prefixed directories
  -nd           do not create a hierarchy of directories
  -A '*.xz'     just get the *.xz files
  -np           don't get parent directories

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.18.5.md5 << "EOF"
d81cb7833db2169952c46a468b36b630  kdecoration-5.18.5.tar.xz
940627dd8c2792676dd6f74b8c1130ab  libkscreen-5.18.5.tar.xz
47d8b84f73fe6e91a5f7b53fec479a06  libksysguard-5.18.5.tar.xz
8632854a3528f18d8175613cd3457086  breeze-5.18.5.tar.xz
ccdb725c872bf797e4ce305a03de3eab  breeze-gtk-5.18.5.tar.xz
3bc3534b73ee3542aaab0f2d534763b2  kscreenlocker-5.18.5.tar.xz
07fd865eca86217d879e7470e4afe8b9  oxygen-5.18.5.tar.xz
40441c19d0b72071803dce462fca0ee1  kinfocenter-5.18.5.tar.xz
27f1ef3c7d6b9fb6d9b70d676afc88b7  ksysguard-5.18.5.tar.xz
2881bc40c660bb3a3290f0c08cc189e6  kwin-5.18.5.tar.xz
148072db8bc16ff483ffa444ea7efe9a  plasma-workspace-5.18.5.tar.xz
88d833f3b31c79ade207a908eeacf4be  bluedevil-5.18.5.tar.xz
3b7d4749556d01fe8eae098b68239366  kde-gtk-config-5.18.5.tar.xz
89f2de2be8fdfa784af9c79d0dadbd32  khotkeys-5.18.5.tar.xz
3c834f0e56d082a00afc4072c00f4139  kmenuedit-5.18.5.tar.xz
4cdf26bbf63abcd146ea88e0aa1911b5  kscreen-5.18.5.tar.xz
a16c7c1841e03b1573448157ae3a9347  kwallet-pam-5.18.5.tar.xz
86f5f66830405ed2a386401b246e71b2  kwayland-integration-5.18.5.tar.xz
6cf0af3a35c5dfe0a024d66a76482b26  kwrited-5.18.5.tar.xz
d28362417e3ab1ca14edb84e73df2b33  milou-5.18.5.tar.xz
07cd8272fc4694f16495ea20ab72b3c0  plasma-nm-5.18.5.tar.xz
78dd988bcbf45586a159a81a1153b22f  plasma-pa-5.18.5.tar.xz
e1e1e30bf1b6ccbe245189e19f212777  plasma-workspace-wallpapers-5.18.5.tar.xz
0c99475e2fc152f57fa25c61026e53bf  polkit-kde-agent-1-5.18.5.tar.xz
c20dd0685bc94392bc15c1514f324c2b  powerdevil-5.18.5.tar.xz
17bfd342f132fac634ffedfe2779a675  plasma-desktop-5.18.5.tar.xz
48726cf667fac5c2f38fa045dde636c4  kdeplasma-addons-5.18.5.tar.xz
58a43b57acc4ff8de899d7c57a8ce90a  kgamma5-5.18.5.tar.xz
197400f3c766b560dded88bd05266dfc  ksshaskpass-5.18.5.tar.xz
#65136393474814073877cdb17f953149  plasma-sdk-5.18.5.tar.xz
98c4bd10c1176e2d526b6e4dc55a1835  sddm-kcm-5.18.5.tar.xz
2b16115046eb7fef09fa4f438be64591  user-manager-5.18.5.tar.xz
34bad73daf95652b298bb990578e6bb0  discover-5.18.5.tar.xz
#28df67486f98d567f01db35dccba5714  breeze-grub-5.18.5.tar.xz
#9dd90fa2b868a8557dc67b0e86af8722  breeze-plymouth-5.18.5.tar.xz
d7aa47027645ed446177daac5743dd1b  kactivitymanagerd-5.18.5.tar.xz
69312d186b9c7380eeda1032ef327dce  plasma-integration-5.18.5.tar.xz
67277d2623d1fd86fcd073000b84b2f3  plasma-tests-5.18.5.tar.xz
#39b3b50f740b0122dd0db7391a049731  plymouth-kcm-5.18.5.tar.xz
2a6b5f111a111000e83a039ed1d5685e  xdg-desktop-portal-kde-5.18.5.tar.xz
51a6331304780d4f370135f8aeb96848  drkonqi-5.18.5.tar.xz
d7084769f2aee6f41d723d85645b9832  plasma-vault-5.18.5.tar.xz
7fb0482503c46c3852f5fd050ce6f449  plasma-browser-integration-5.18.5.tar.xz
4f5147c3932d1548550e633f0aa4a237  kde-cli-tools-5.18.5.tar.xz
8d46069f6129eea764e3e17469b53bd1  systemsettings-5.18.5.tar.xz
08adc73eacabecc6a4f787bfd0c64dc8  plasma-thunderbolt-5.18.5.tar.xz
#e43f19f06ad0ec687de9ce5362534d88  plasma-nano-5.18.5.tar.xz
#af6d01e56794acc9ca9e721064878133  plasma-phone-components-5.18.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.2 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 lançant 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

       # Fix some build issues when generating some configuration files
       case $name in
         plasma-workspace)
           sed -i '/set.HAVE_X11/a set(X11_FOUND 1)' CMakeLists.txt
         ;;
      
         khotkeys)
           sed -i '/X11Extras/a set(X11_FOUND 1)' CMakeLists.txt
         ;;
      
         plasma-desktop)
           sed -i '/X11.h)/i set(X11_FOUND 1)' CMakeLists.txt
         ;;
       esac

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

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 lançant 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).

Si vous prévoyez de démarrer Plasma en utilisant un gestionnaire d'affichage comme lightdm-1.30.0, il y aura deux entrées pour Plasma, une pour l'utilisation de Xorg, et une autre pour Wayland. Modifiez l'entrée Xorgavec la commande suivante, en tant qu'utilisateur root afin que vous puissiez faire la différence entre les deux :

sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop

Contenu

Programmes installés: Il y a trop de programmes plasma (50 dans /opt/kf5/bin) pour les lister séparément ici.
Bibliothèques installées: Il y a trop de bibliothèques plasma (39 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 2015-09-24 16:44:04 -0500