Construction de Plasma 5

KDE Plasma 5 est une collection de paquets basés sur KDE Frameworks 5 et QML. Il est dérivé du bureau monolithique KDE 4. Ils implémentent l'environnement d'affichage KDE (Plasma 5).

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.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

GTK+-2.24.31, GTK+-3.22.18, KDE Frameworks-5.37.0, libpwquality-1.4.0, libxkbcommon-0.7.2, Mesa-17.1.6 construit avec Wayland-1.14.0, NetworkManager-1.8.2, PulseAudio-10.0, Python-2.7.13, qca-2.1.3 (construit avec qt5), taglib-1.11.1 et xcb-util-cursor-0.1.3

Recommandées

Facultatives

GLU-9.0.0, IBus-1.5.16, Xorg Synaptics Driver-1.9.0, 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.10.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.10.5.md5 << "EOF"
61b926818863e0ff1e87b9a7f4bc1371  kde-cli-tools-5.10.5.tar.xz
133cfcf1c2f3f98f60036a0fb4cd2c84  kdecoration-5.10.5.tar.xz
93465b802514e1a3d90ae3b79f7a7f85  libkscreen-5.10.5.tar.xz
8352206006bd8df100ccf4457330c91f  libksysguard-5.10.5.tar.xz
f78318b14525ed3a56e33f4f24e5cd04  breeze-5.10.5.tar.xz
02be5bb69c94ac18097375ae66384092  breeze-gtk-5.10.5.tar.xz
90c04db347b282202a06a41e33f28083  kscreenlocker-5.10.5.tar.xz
9874a761b9e92a88e6b4abba571c9f61  oxygen-5.10.5.tar.xz
60e424cdcc01adc499902229c3a8ee80  kinfocenter-5.10.5.tar.xz
3e531a86dbc0f517e79bbba83c8bba5b  ksysguard-5.10.5.tar.xz
5e8ad3d570909cd2910fbb1fe50650db  kwin-5.10.5.tar.xz
91d3559768edb8d805897f09bb9ca0ed  systemsettings-5.10.5.tar.xz
7332e40293623cc59a5d296afb0cac50  plasma-workspace-5.10.5.tar.xz
9d55bed36f274f1b79427e0e515441b1  bluedevil-5.10.5.tar.xz
f4f21444ee52f793c43bd1245880c408  kde-gtk-config-5.10.5.tar.xz
b96fa0308bf5242924e608181b48d777  khotkeys-5.10.5.tar.xz
c2259c358887d8e21b497e90a8dcef50  kmenuedit-5.10.5.tar.xz
29a7eac44b1239a371d2f8337285cfa9  kscreen-5.10.5.tar.xz
4117c95c592c7f51c6f1e54b9eb9a015  kwallet-pam-5.10.5.tar.xz
37720b8eaf3e6271dc21b8cd7fda14d2  kwayland-integration-5.10.5.tar.xz
0377a56033de0415174400dfe8e7516a  kwrited-5.10.5.tar.xz
b925292bb0300bea67e60e39bbffddf5  milou-5.10.5.tar.xz
4ab4a1840448808ec998cbcfefdf6ac0  plasma-nm-5.10.5.tar.xz
cf32842a5a80fcf875231548db222c73  plasma-pa-5.10.5.tar.xz
e477f6554f7a266e52521ff98cc7b798  plasma-workspace-wallpapers-5.10.5.tar.xz
eb76e3c900a3288792eb36524394ace8  polkit-kde-agent-1-5.10.5.tar.xz
cf9600ad417ac19a2905f313d2a4b63c  powerdevil-5.10.5.tar.xz
07df99ee595a53c6d9f50c17ddb7bcb4  plasma-desktop-5.10.5.tar.xz
5f69006dbd233aefa54b1f2f474ba0ec  kdeplasma-addons-5.10.5.tar.xz
73bf718d8625bcd7990200854846f330  kgamma5-5.10.5.tar.xz
3013943358a15d878ffcd6cc0529ee8c  ksshaskpass-5.10.5.tar.xz
#2108f6f1856edbb845303faffa0663ec  plasma-sdk-5.10.5.tar.xz
99243c64866c23c03251fbe179ac4f4b  sddm-kcm-5.10.5.tar.xz
e05c789e6f6e21d642c4194480ca1b8c  user-manager-5.10.5.tar.xz
da06f5c055b78c773b8acd813cb22682  discover-5.10.5.tar.xz
#c3463607251ff3fdcd73cc5eb0ab203c  breeze-grub-5.10.5.tar.xz
#f2e14a9075792c3e3a6df512490429b4  breeze-plymouth-5.10.5.tar.xz
ac13d5b70b28c77d3a37d22cd4b949d5  kactivitymanagerd-5.10.5.tar.xz
74e1cf72ec6c4ad920447b4cc7635c08  plasma-integration-5.10.5.tar.xz
c03584b89c09b0d154bdb93290c11b81  plasma-tests-5.10.5.tar.xz
#479e80625971fedb4bef3101060c91cf  plymouth-kcm-5.10.5.tar.xz
3ec1936fa9def125630493418455b6d8  xdg-desktop-portal-kde-5.10.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 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.20p2 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.10.5.md5

exit

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 le niveau d'exécution 3, en utilisant xinit-1.3.4, ou depuis le niveau d'exécution 5, en utilisant un gestionnaire d'affichage, comme sddm-0.15.0.

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

cat > ~/.xinitrc << "EOF"
ck-launch-session 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
[Note]

Note

Vous pouvez souhaiter éviter consolekit ou dbus-launch, par exemple, en utilisant juste startkde dans ~/.xinitrc. Cependant quelques fonctionnalités comme le montage ou le démontage des systèmes de fichiers depuis un gestionnaire de fichiers ne seront pas possibles, ou l'option de redémarrage peut être absente ou inopérant, en plus d'autres problèmes.

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

if vous prévoyez de démarrer Plasma en utilisant un gestionnaire d'affichage comme sddm-0.15.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