Construction de LXQt depuis les sources

De LXDE.org
Aller à : navigation, rechercher

Ce site n'est pas à jour. Merci de visiter le nouveau wiki (lien en anglais).

Introduction

Depuis que les projets originaux LXDE et razor-qt ont décidé de joindre leurs efforts et de travailler ensemble sur le même projet, nous avons créé LXDE-Qt ou LxQt. Des efforts ont été réalisés afin de fusionner les bases de code et les composants. Mais les choses en sont toujours à un stade précoce. Il n'y a donc pas encore de version publique. À des fins d'essai, voici un guide pour les courageux qui veulent construire LXDE-Qt depuis le code source de git. Veuillez noter que, comme c'est un travail en cours, les choses sont sujettes à de fréquents changements. Soyez donc préparé et n'en attendez pas trop. Les choses s'amélioreront, mais ça prend du temps. :-)

Obtenir Qt5

Si votre distribution Gnu/Linux propose des paquets de Qt5, il pourrait néanmoins être nécessaire d'utiliser l'installateur de Qt5 officiel depuis le site web de Qt. Certains paquets de LXQt utilisent des fichiers d'en-tête privés qui sont fournis par l'installateur officiel mais qui ne le sont pas par la distribution (par exemple, Ubuntu).

Pour installer Qt5, il faut récupérer le paquet installateur depuis qt.io (lien en anglais), le lancer et l'installer à n'importe quel emplacement. Ensuite, il faut inclure le binaire de qmake dans l'emplacement d'installation. Ensuite, cmake peut rechercher le binaire de qmake à propos de l'emplacement des fichiers d'en-tête et des bibliothèques. Par exemple, on peut ajouter la ligne ci-dessous à son fichier ~/.bashrc.

export PATH=[chemin-vers-binaire-de-Qt]:$PATH

Obtention du code source depuis git

  • Github : https://github.com/lxde.
  • À l'avenir, nous déménagerons peut-être vers notre propre git.lxde.org (pas encore prêt).
  • Pour cloner tous les composants de LXDE-Qt un à un, il faut exécuter les commandes ci-dessous.

$ git clone git://lxde.git.sourceforge.net/gitroot/lxde/lxpanel-plugins

$ cd lxde-qt

$ git submodule init

$ git submodule update

$ git submodule foreach git checkout master

$ git submodule foreach git pull --rebase

  • Pour construire tout le code d'un coup, vous pouvez éventuellement utiliser le script build_all.sh, comme indiqué ci-dessous.

$ LXQT_PREFIX=/usr ./build_all.sh

  • Si votre distribution est pour 64 bits et qu'elle installe les bibliothèques dans lib64 plutôt que dans lib, essayez la variable d'environnement « LIB_SUFFIX=64 ». Le script est une bidouille simple et rapide et peut ne pas fonctionner correctement. Construire tous les composants manuellement est plus sûr, pour le moment.
  • Pour construire avec la prise en charge de Qt5, faites ce qui est indiqué ci-dessous.

$ LXQT_PREFIX=/usr USE_QT5=ON ./build_all.sh

Prise en charge de Qt4

La prise en charge de Qt4 est désormais limitée à libqtxdg uniquement.

  • cmake >= 2.8.11 ;
  • passer le drapeau -DUSE_QT4=ON à cmake pour activer la prise en charge de Qt4.

LLVM/Clang

Pour construire avec LLVM/Clang (le compilateur par défaut de FreeBSD), vous devez utiliser la commande ci-dessous.

# $

Ces deux paramètres de cmake peuvent être utilisés pour passer outre la détection par défaut des compilateurs.


Construction des bibliothèques de base

Types Mime (Qt4 seulement)

  • Fournisseur de types Mime la compilation en Qt4 de libqtxdg.
  • Pré-requis : qt >= 4.7.2.
  • Construction : voir ci-dessous.

$ cd mimetypes

$ qmake ..

$ make

$ sudo make install

  • Cette bibliothèque est seulement nécessaire pour la construction avec Qt4.

libqtxdg

  • Bibliothèque qui fournit les implémentations des spécifications de freedesktop.org pour Qt.
  • Pré-requis :
    • pour Qt4 : cmake >= 2.8.11, qt >= 4.7.2 et QtMimeTypes,
    • pour Qt5 : cmake >= 2.8.11 et qt >= 5.3.0.
  • Exporter USE_QT4 avec ON ou bien OFF, suivant ce qu'on veut.
  • Construction : voir ci-dessous.
mkdir build
cd build
cmake ..
make
sudo make install

liblxqt

  • Bibliothèque de base commune pour la plupart des composants de lxde-qt.
  • Pré-requis : cmake >= 2.8.1, qt >= 5.3, KWindowSystem et libqtxdg.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

liblxqt-mount

  • Bilbiothèque utilisée pour gérer les appareils amovibles.
  • Pré-requis : cmake >= 2.8.11, qt >= 5.3 et liblxqt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-globalkeys

  • Démon et bibliothèque pour l'enregistrement des raccourcis clavier globaux.
  • Pré-requis : cmake >= 2.8.11, qt >= 5.3, liblxqt et KWindowSystem.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-notificationd

  • Démon et bibliothèque de notification.
  • Pré-requis : cmake >= 2.8.11, qt >= 5.3, liblxqt, KWindowSustem et Xlib.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

libsysstat

  • Bibliothèque utilisée pour demander les statistiques de système (statut du réseau, utilisation des ressources du système, etc.).
  • Pré-requis : cmake >= 2.8.11 et qt >= 5.3.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

menu-cache

  • Pré-requis : automake >= 1.9, pkg-config et libglib >= ?, gtk-doc et libfm-extra.
  • Pour menu-cache et libfm, il existe une dépendance circulaire : menu-cache dépend de libfm-extra qui est installé avec libfm qui dépend de menu-cache. Pour résoudre ce problème, on peut construire et installer libfm-extra seulement (cf. libfm-extra seulement).
  • Construction : voir ci-dessous.

$ ./autogen.sh

$ ./configure

$ make

$ sudo make install

$ sudo ldconfig

libfm-extra seulement

  • Aller dans le répertoire libfm.
  • Construction : voir ci-dessous.

$ ./autogen.sh

# $

$ make

$ sudo make install

$ sudo ldconfig

libfm

  • Pré-requis : automake >= 1.9, intltool, gtk-doctools, pkg-config, glib >= 2.16, libexif (pour les vignettes), menu-cache >= 0.5, valac >= 0.14 (optionnel, pour le support des actions, nécessaire seulement pour la construction et sans dépendance d'exécution).
  • Construction : voir ci-dessous.

$ ./autogen.sh

$ ./configure --without-gtk --sysconfdir=/etc

$ make

$ sudo make install

$ sudo ldconfig

  • Notes :
    • vous aurez peut-être besoin d'utiliser --sysconfdir=/etc pour certains systèmes (tels que Linux) ; sinon, les fichiers de configuration seront installés dans /usr/local/etc par GNU automake ;
    • le drapeau --without-gtk est également nécessaire ici car il n'ya pas besoin de construire la bibliothèque libfm-gtk ;
    • si vous installez menu-cache dans /usr/local, il faut le faire, comme indiqué ci-dessous, avant de lancer la configuration.

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

  • Drapeaux de configuration spéciaux :
    • --enable-debug : (ajoute -g -O0 et d'autres drapeaux de compilateur nécessaires pour le débogage, pour désactiver l'optimisation et pour générer des symboles de débogage) ;
    • --enable-demo : Construit également un petit programme de démonstration (libfm-demo) afin d'essayer libfm.
  • Dépendences d'exécution :
    • gvfs (optionnel, la corbeille, le montage de systèmes de fichiers distants et le gestionnaire de volume nécessitent gvfs) ;
    • lxmenu-data (optionnel, nécessaire au fonctionnement de menu://application ; si vous avez la paquet gnome-menus ou d'autres fichiers de définition du menu des applications installé, ce n'est pas nécessaire).

Construction des composants principaux

lxqt-panel

  • Panneau de bureau.
  • Pré-requis : cmake >= 2.8.11, qt >= 5.3, libqtxdg, liblxqt, KGuiAddons, libkf5solid, lxqt-globalkeys, liblxqt-mount (greffon de montage), Xlib, libsysstat, libdbusmenu-qt5, xcb-util et xcb-damage.
  • Dépendances optionnelles : libstatgrab (greffons de charge processeur et de moniteur réseau), libicu (greffon de météo), alsa ou pulseaudio (greffon de volume) et menu-cache.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

pcmanfm-qt

  • Gestionnaire de fichiers et du bureau.
  • Pré-requis : libfm >= 1.2, menu-cache >= 0.4, qt >= 4.6, cmake >= 2.8.3 et pkg-config.
  • Si vous installez menu-cache ou libfm dans /usr/local, faites-le avant de lancer cmake.

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

$ sudo ldconfig

Note : Le paquet de PCManFM-Qt installe également une bilbiothèque l'accompagnant, libfm-qt, qui est le pendant de libfm pour Qt.

lxqt-session

  • Gestionnaire de session.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11, KWindowSystem, liblxqt, Xlib et libudev.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-runner

  • Lancer rapidement des applications en tapant des commandes.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11, liblxqt, KWindowSystem, lxqt-globalkeys et menu-cache.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-qtplugin

  • Greffon d'intégration de la pateforme LxQt pour Qt 4 (permet à tous les programmes Qt d'appliquer les paramètres de LxQt).
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11 et liblxqt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-policykit

  • Agent d'authentification pour Policykit.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11, liblxqt, libqtxdg et polkit-qt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-powermanagement

  • Démon utilisé pour la gestion de l'énergie et la mise en veille automatique.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11, xcb, x11-xcb, xcb-screensaver, xcb-dpms, libkf5solid et liblxqt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lximage-qt

  • Visionneuse d'images.
  • Pré-requis : pcmanfm-qt >= 1.2 (sera utilisé pour la génération des vignettes et autres), qt >= 5.3, cmake >= 2.8.11, pkg-config et libexif.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-config

  • Configuration du système (centre de contrôle).
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11, KwindowSystem, Xlib, liblxqt et libqtxdg.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-config-randr

  • Configuration d'écran simple.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11, Xlib et Xrandr.
  • Construction :

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

obconf-qt

  • Configuration du gestionnaire de fenêtres (pour Openbox).
  • Pré-requis : qt >= 4.6, cmake >= 2.8.3, pkg-config et les bibliothèques de développement d'Openbox.
  • Si on veut utiliser Qt5, il faut lancer export USE_QT5=ON avant d'appeler cmake. Si cmake .. a déjà été appelé, cmake mettra le fait que qt4 est utilisé en cache. Ensuite, on peut supprimer et recréer le répertoire de construction.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

compton-conf

  • Configuration du gestionnaire du compositeur de X (pour compton).
  • Pré-requis : qt >= 4.6, cmake >= 2.8.3, pkg-config et libconfig.
  • Dépendance d'exécution : compton (lancer avec support de dbus activé).
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-about

  • Boîte de dialogue à propos de LXDE-Qt.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11 et liblxqt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

Installation des fichiers de données

lxqt-common

  • Fichier de données communes nécessaire à l'exécution d'une session de LXDE-Qt.
  • Pré-requis : cmake >= 2.8.11.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxmenu-data

  • Fichiers de données pour le menu des applications.
  • Pré-requis : automake >= 1.9.
  • Construction : voir ci-dessous.

$ ./autogen.sh

$ ./configure --sysconfdir=/etc

$ make

$ sudo make install

Note :
Sur certaines autres distributions, le répertoire de configuration de xdg n'est pas /etc/xdg. Il faut alors donner le --sysconfdir approprié au script de configuration suivant le système d'exploitation que vous utilisez.note


Composants dépréciés

Les composants suivants ont été utilisés dans LXQt auparavant. Ils fonctionnent toujours mais peuvent ne pas recevoir de future mise à jour.

lxqt-openssh-askpass

  • Outil utilisé avec openssh pour demander son mot de passe à l'utilisateur.
  • Pré-requis : qt >= 5.3, cmake >= 2.8.11 et liblxqt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxinput-qt

lxinput-qt est désormais intégré à lxqt-config.

* Configuration du clavier et de la souris.

  • Pré-requis : qt >= 4.6, cmake >= 2.8.3, Xlib et pkg-config.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-appswitcher

  • Changeur d'applications.
  • Pré-requis : qt >= 4.6, cmake >= 2.8.9, liblxqt, lxqt-globalkeys et libX11.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

lxqt-lightdm-greeter

  • Interface de LXDE-Qt pour lightdm.
  • Pré-requis : qt >= 4.6, cmake >= 2.8.9 et liblxqt.
  • Construction : voir ci-dessous.

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

  • Configuration : Ouvrir /etc/lightdm/lightdm.conf dans un éditeur (avec les privilèges de root, par exemple, sudo vim /etc/lightdm/lightdm.conf) et faire apparaître la ligne de « greeter-session » dans la partie « SeatDefaults » comme ci-dessous.
greeter-session=lxqt-lightdm-greeter

Après redémarrage de lightdm, l'accueil devrait s'afficher.

Liste des dépendances externes

Pour le processus de construction des composants de LXQt, il faut avoir quelques dépendances externes installées sur sa machine. En général, un moteur de recherche sir Internet est votre ami. Les paquets installés sont vérifiés par cmake lui-même et via pkg-config. Pour cmake-search, on peut faire une recherche sur Internet avec « PackagenameConfig.cmake ». Pour pkg-config, on peut utiliser « packagename.pc » (cette méthode fonctionne très bien sous Ubuntu).

Si aucune dépendance externe n'a été oubliée, voici la liste des noms de paquets pour Ubuntu (les paquets ont peut-être des noms similaires dans les autres distributions)..

  • alsa -> libasound2-dev ;
  • automake -> automake ;
  • gtk-doc -> gtk-doc-tools ;
  • KF5GuiAddons -> libkf5guiaddons-dev ;
  • KWindowSystem -> libkf5windowsystem-dev ;
  • libconfig -> libconfig-dev ;
  • libdbusmenu-qt5 -> libdbusmenu-qt5-dev ;
  • libexif -> libexif-dev ;
  • libkf5solid -> libkf5solid-dev ;
  • libstatgrab -> libstatgrab-dev ;
  • libudev -> libudev-dev ;
  • lm-sensors -> libsensors4-dev ;
  • openbox development libs -> openbox-dev ;
  • Polkit-Qt -> libpolkit-qt5-1-dev && libpolkit-agent-1-dev ;
  • pulseaudio -> libpulse-dev ;
  • valac -> valac ;
  • xcb -> ? ;
  • xcb-damage -> libxcb-damage0-dev ;
  • xcb-dpms -> libxcb-dpms0-dev ;
  • xcb-screensaver -> libxcb-screensaver0-dev ;
  • xcb-util -> libxcb-util0-dev.

Debian

Pour toute version de Debian, il faut d'abord activer les dépots « experimental » en les ajoutant au fichier /etc/apt/source.list. Il faut ensuite copier la ligne ci-dessous dans un terminal.

# apt-get -t experimental install libasound2-dev gtk-doc-tools libkf5guiaddons-dev libkf5windowsystem-dev libconfig-dev libdbusmenu-qt5-dev libexif-dev libkf5solid-dev libstatgrab-dev libudev-dev libsensors4-dev openbox-dev libpolkit-qt5-1-dev libpolkit-agent-1-dev libpulse-dev valac xcb libxcb-damage0-dev libxcb-dpms0-dev libxcb-screensaver0-dev libxcb-util0-dev

On peut aussi récupérer la dernière version de Qt5 à l'aide de la commande ci-dessous (liste à compléter).

# apt-get -t experimental install qt5-default qt5-qmake

openSUSE

Sur openSUSE, il faut installer les paquets de développement ci-dessous.

$ zypper in libqt5widgets-devel libQt5DBus-devel libQt5xml-devel libQt5concurrent-devel libqt5-qtx11extras-devel libqt5-linguist-devel liblxqt-devel libqt5-qtbase-private-headers-devel

Funtoo / Gentoo

Sur *ntoo, il faut utiliser emerge comme indiqué ci-dessous

$ emerge -a kwindowsystem kguiaddons liboobs polkit-qt qtsvg qtscript qtprintsupport libconfig