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

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.22.30, KDE Frameworks-5.49.0, libpwquality-1.4.0, libxkbcommon-0.8.2, Mesa-18.1.6 construit avec Wayland-1.15.0, NetworkManager-1.12.2, PulseAudio-12.2, Python-2.7.15, qca-2.1.3, taglib-1.11.1 et xcb-util-cursor-0.1.3

Recommandées

Facultatives

GLU-9.0.0, ibus-1.5.19, 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.13.4/
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.13.4.md5 << "EOF"
2cfae8349d3c5a4d7b52269b6ef580bc  kdecoration-5.13.4.tar.xz
dfe4e097033f48d5f3b56d7d9fe91c91  libkscreen-5.13.4.tar.xz
939be7f1b81f8948d3026ea0f6b71332  libksysguard-5.13.4.tar.xz
a5811405ebf81ced2d96dddda14dc65c  breeze-5.13.4.tar.xz
544d7306a573a4b1af9cf15bea565f77  breeze-gtk-5.13.4.tar.xz
6f1846e0f49c0e660ffea7b25d979f5c  kscreenlocker-5.13.4.tar.xz
431d2a2eea56e05659d4d9bfee75b8f9  oxygen-5.13.4.tar.xz
787f4cf0ebb6a296a907526f8a05d96e  kinfocenter-5.13.4.tar.xz
38cdb99d3e7133dd8720073d184c0219  ksysguard-5.13.4.tar.xz
886af79baa7b478ee25ce9491f0398bd  kwin-5.13.4.tar.xz
3035c264c2c00d274995216f135a2525  plasma-workspace-5.13.4.tar.xz
3f3de6be50ce252d5f000f200fd274c7  bluedevil-5.13.4.tar.xz
a092d24dfd11b41c56a6babe7c8ec460  kde-gtk-config-5.13.4.tar.xz
9bcb6800aa2049b77dd0e31b1f48bd86  khotkeys-5.13.4.tar.xz
f5a94fb11385cd4df4df330193ebb395  kmenuedit-5.13.4.tar.xz
bf91e1d9eefc6660de6027aceeff6c97  kscreen-5.13.4.tar.xz
e7f0bfb74c5d5a9ff43e6de6cb0f0d8d  kwallet-pam-5.13.4.tar.xz
7f666f407e8f1e076897e68295c8f5a7  kwayland-integration-5.13.4.tar.xz
57638eed026c081df092baef0615eb92  kwrited-5.13.4.tar.xz
69ff78fc195af7e4994429b44454f3f9  milou-5.13.4.tar.xz
7c2bd25f90a7d55dc334897286facfc6  plasma-nm-5.13.4.tar.xz
edef493711c1f8b7dde43390ff415eb4  plasma-pa-5.13.4.tar.xz
4ab6df9997269d2263c3e6fb2d6b4bf7  plasma-workspace-wallpapers-5.13.4.tar.xz
52deb7a41477d704a6895a7bdccaa1d7  polkit-kde-agent-1-5.13.4.tar.xz
728661126e6f4d414c5fa2a7d596ecbf  powerdevil-5.13.4.tar.xz
c1461af55b31cbf0473df4b30d90c376  plasma-desktop-5.13.4.tar.xz
35d28871e37fd28602066706967a9bb0  kdeplasma-addons-5.13.4.tar.xz
0b3cabd2f882599dffd5bd49b55a231e  kgamma5-5.13.4.tar.xz
14e004c9d8112815b8bb0c6438a5d57f  ksshaskpass-5.13.4.tar.xz
#b97352709bd0ed4a7a8d3f28630b85a6  plasma-sdk-5.13.4.tar.xz
0c9af753ed311600b218747fa6eb5dcd  sddm-kcm-5.13.4.tar.xz
b101c424b5b13cecf32aab93c4215e15  user-manager-5.13.4.tar.xz
e46195de68d3cabbb0b73e4252aaf95b  discover-5.13.4.tar.xz
#db28bc45387c0f4be49de795040df888  breeze-grub-5.13.4.tar.xz
#85f27da438e5e6476220112e0728cdbe  breeze-plymouth-5.13.4.tar.xz
4147607b008aefcc744eb19896a37f73  kactivitymanagerd-5.13.4.tar.xz
a8ef5bd003ea74107d176d42ae0e83e9  plasma-integration-5.13.4.tar.xz
7e4a31d74ae071054d225bb8075647fd  plasma-tests-5.13.4.tar.xz
0600243811dbda474d1c994de6973d3f  plymouth-kcm-5.13.4.tar.xz
643c83817fcd3668eedfc01b60ab4731  xdg-desktop-portal-kde-5.13.4.tar.xz
147892484b3ba637840e47881b52434d  drkonqi-5.13.4.tar.xz
52899d46e4fa6b293699d20163fa10d1  plasma-vault-5.13.4.tar.xz
d6963e6b203d0bbc864f35a272370370  plasma-browser-integration-5.13.4.tar.xz
90f115ede33aef5582ac17bf2a95f324  kde-cli-tools-5.13.4.tar.xz
9672ac04c144af86dae18eeb47da01b9  systemsettings-5.13.4.tar.xz
EOF
[Note]

Note

Les paquets breeze-grub, breeze-plymouth et plymouth-kcm ci-dessus servent à supporter la personnalisation de Plymouth qui est prévu 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.

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.8.23 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 all of the packages 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

       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.13.4.md5

exit

cd /usr/share/xsessions/
[ -e plasma.desktop ] || as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop

cd $KF5_PREFIX/share/plasma/plasmoids

for j in $(find -name \*.js); do
  as_root ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/
done

Explication des commandes

ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/ : Crée des liens symboliques pour que les fichiers QML puissent trouver les modules javascript nécessaire

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 un TTY avec xinit-1.4.0.

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

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