DisplayCAL en Python 3

Article mis à jour le 21 mai 2022

Présentation

DisplayCAL est une interface graphique pour ArgyllCMS qui sert à calibrer des écrans. Ce sont tous les deux des logiciels libres.

Florian Höch, le développeur original de DisplayCAL pendant la pandémie a perdu sa passion pour le projet. Le problème, c’est que le logiciel est écrit en Python 2, une version qui n’est plus supportée. Les distributions GNU/Linux ont toutes supprimé les unes après les autres Python 2 donc ont supprimé DisplayCAL de leurs dépôts. Le problème, c’est que c’est la seule solution abordable pour calibrer ses écrans avec une interface graphique sous GNU/Linux.

Erkan Ozgur Yilmaz sous le pseudo de eoyilmaz a décidé de porter DisplayCAL en Python 3. Même si il reste quelques bogues, DisplayCAL est néanmoins utilisable. Vous pouvez donc l’utiliser sur votre distribution GNU/Linux préféré.
Il n’y a pas encore de paquets disponibles, mais une installation à la main est possible et ce n’est pas très compliqué.

Changement de nom

DisplayCAL en Python 3 est un fork de DisplayCAL en Python 2. Même si le développeur original a abandonné le logiciel et ne répond pas aux sollicitations, il détient les droits sur le nom DisplayCAL jusqu’à 70 ans après sa mort.

DisplayCAL en Python 3 doit donc changer de nom.

Quand le changement de nom aura lieu, je ferais les changements dans cet article et j’écrirais un article pour vous l’annoncer.

Historique des versions

Pour être informé des nouvelles versions, allez sur la page dédiée :
https://github.com/eoyilmaz/displaycal-py3/releases
Vous pouvez ajouter cette adresse à votre lecteur de flux RSS pour être averti automatiquement de l’arrivée d’une nouvelle version.

  • 3.9.4, le 16 mai 2022.
  • 3.9.3, le 4 mai 2022.
  • 3.9.2, le 30 avril 2022.
  • 3.9.1, le 30 avril 2022.

GitHub du projet : https://github.com/eoyilmaz/displaycal-py3

N’oubliez pas d’installer ArgyllCMS.

Paquets disponibles

DisplayCAL en Python 3 est disponible avec votre gestionnaire de paquet pour les distributions suivantes :

ArchLinux (3.9.4), Mageia Cauldron (3.9.3).

Pour Manjaro Linux, il est disponible dans la branche testing :
https://manjaro.moson.eu/testing/community/x86_64/displaycal‑3.9.4–1‑x86_64.pkg.tar.zst

Installation depuis le site officiel

Prérequis

Vous devez avoir Git et Python 3 installé, c’est une évidence. Généralement tout ce dont vous avez besoin est inclus dans Python 3, mais par le goût de la simplicité, certaines distributions GNU/Linux sépare l’environnement virtuel « venv » du paquet « python ». Vous pourriez donc avoir besoin du paquet « python3-venv » ou « python-venv ».

Sous Debian, Ubuntu et Mint, installez les dépendances requises pour l’installation :

apt-get install build-essential dbus libglib2.0-dev pkg-config libgtkd-3-dev libxxf86vm-dev

Avec certaines distributions de GNU/Linux, vous pouvez avoir besoin du module Python « wheel ».
Je ne sais pas si on peut le savoir avant de faire l’installation donc si vous n’avez pas de messages d’erreurs, c’est tout bon. Vous en aurez besoin si vous avez l’erreur suivante :

Building wheel for dbus-python (setup.py) ... error

Vous pouvez avoir besoin d’installer le paquet python3-wheel.

Donc supprimez le répertoire displaycal_venv et avant d’entrer une des deux lignes de commandes qui commence par :

python -m venv ./displaycal_venv ou sudo python -m venv ./displaycal_venv

Entrez une des deux commandes suivantes :

pip install wheel ou sudo pip install wheel

Installation depuis le site officiel dans le répertoire Téléchargements de votre répertoire personnel 

Dans terminal, créez un répertoire displaycal dans votre répertoire Téléchargements et allez dedans.

mkdir ~/Téléchargements/displaycal/
cd ~/Téléchargements/displaycal/

Téléchargez les sources, créez un environnement virtuel, compilation et installation des dépendances Python et compilation et installation de DisplayCAL (c’est deux lignes) :

git clone https://github.com/eoyilmaz/displaycal-py3
python -m venv ./displaycal_venv && source ./displaycal_venv/bin/activate
cd ./displaycal-py3/ && pip install -r requirements.txt && python -m build && pip install dist/DisplayCAL-3.9.*.whl

Attention : la compilation prend beaucoup de temps.

Ça y est, DisplayCAL en Python 3 est installé.
Testez le logiciel avec la commande dans le même terminal :

displaycal

Le logiciel devrait démarrer.

DisplayCAL

Pour les utilisations suivantes, taper la commande displaycal ne fonctionnera pas car l’environnement n’est pas défini.

Pour remédier à cela, il faut créer un script Shell. Ouvrez votre éditeur de texte préféré et copiez les lignes suivantes dedans :

#!/bin/sh
cd ~/Téléchargements/displaycal/
python -m venv ./displaycal_venv
source ./displaycal_venv/bin/activate
displaycal

Enregistrez le fichier dans le répertoire bin de votre dossier personnel sous le nom displaycal.sh.
Avec votre gestionnaire de fichiers, rendez ce fichier exécutable en faisant un clic droit sur le fichier, choisissez « Propriétés… » puis dans l’onglet « Permissions », dans la ligne « Programme », cochez « Autoriser ce fichier à être exécuté comme un programme ».
Testez votre fichier dans un terminal par :

~/bin/displaycal.sh

Plutôt que lancer DisplayCAL depuis un terminal, vous pouvez créer un lanceur.
La procédure peut changer suivant votre environnement de bureau.
Avec XFce, faites un clic droit sur votre bureau à un endroit vide et choisissez « Créer un lanceur… »
La fenêtre suivante s’ouvre :

Créer un lanceur

Dans le champ « Nom », mettez DisplayCAL.
Dans le champ « Commentaire », mettez une description du logiciel (ce n’est pas obligatoire).
Dans la ligne du champ « Commande » cliquez sur l’icône du dossier ouvert, dans la fenêtre qui souvre choisissez à droite « Dossier personnel », double cliquez sur « bin » et cliquez en bas à droite sur « Ouvrir ».
Laissez le champ « Répertoire de travail » vide.
À « Icône », cliquez sur « Pas d’icône » et sélectionnez l’icône qui est dans le répertoire « Téléchargements/displaycal/displaycal-py3/theme/icons/ » et cliquez sur « Valider ».
Cliquez sur « Créer ».
Vous pouvez laisser le lanceur sur le bureau ou le glisser-déposer sur un tableau de bord.

Installation depuis le site officiel dans le répertoire /opt/

Installer un logiciel n’est pas très sécurisé donc installer DisplayCAL dans le répertoire /opt/ peut être une bonne idée, une seule condition, c’est d’avoir les droits administrateur.

Créez un répertoire displaycal dans /opt/ et allez dedans :

sudo mkdir /opt/displaycal/
cd /opt/displaycal

Téléchargez les sources, créez un environnement virtuel, compilation et installation des dépendances Python et installez le logiciel (c’est deux lignes) :

sudo git clone https://github.com/eoyilmaz/displaycal-py3
sudo python -m venv ./displaycal_venv && source ./displaycal_venv/bin/activate && cd ./displaycal-py3/ && sudo pip install -r requirements.txt && sudo python -m build && sudo pip install dist/DisplayCAL-3.9.*.whl

Attention : la compilation prend beaucoup de temps.

Ça y est, DisplayCAL en Python 3 est installé.

Il vous reste à créer un script Shell pour lancer le logiciel.
Dans un terminal faites : 

cd /opt/displaycal/
sudo nano displaycal.sh

Copiez les lignes suivantes dans nano : 

#!/bin/sh
cd /opt/displaycal/
python -m venv ./displaycal_venv
source ./displaycal_venv/bin/activate
displaycal

Faites un Ctrl+O et Entrer pour enregistrer le fichier et faites un Ctrl+X pour quitter nano.
Rendez le fichier exécutable avec : 

sudo chmod +x displaycal.sh

Vous pouvez maintenant tester avec un : 

/opt/displaycal/displaycal.sh

Vous pouvez, comme plus haut, créer un lanceur.

Installation sur une openSUSE

ATTENTION : cette procédure n’a été testée qu’en machine virtuelle sous Virtualbox avec une openSUSE Leap 15.3 et une Tumbleweed 20220509 fraîchement installées.
N’hésitez pas à partager votre expérience (bonne ou mauvaise) avec cette procédure en commentaire de cet article.

Avec l’aimable contribution de jpg54.

Cette procédure installera DisplayCAL dans le répertoire Téléchargements/displaycal/.

L’environnement virtuel venv est fourni officiellement dans Python, pourtant, certaines distributions GNU/Linux comme openSUSE Tumbleweed fournissent Python sans venv.

Comme Python est conçu avec venv intégré, il n’existe pas de paquet python-venv, on ne peut pas non plus l’installer par unpip3 install venv comme on pourrait le faire avec un autre module Python. On doit donc passer par un autre module d’environnement virtuel virtualenv qui est suffisamment compatible avec venv pour ce qu’on veut en faire.

Pour openSUSE Leap 15.3, venv est fourni avec Python 3.9.

La procédure est donc la suivante :

Il faut installer les dépendances de développement :

sudo zypper in libXxf86vm-devel patterns-devel-base-devel_basis patterns-devel-python-devel_python3 libpng16-devel libjpeg8-devel lzlib-devel libtiff-devel libexpat-devel gtk3-devel

Avec openSUSE Leap 15.3, il faut installer Python 3.9 et le mettre par défaut :

sudo zypper install python39 python39-devel python39-tools
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2000
sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/bin/pip3.9 2000

Créez un répertoire displaycal dans répertoire Téléchargements et allez dedans :

mkdir ~/Téléchargements/displaycal/
cd ~/Téléchargements/displaycal

Téléchargez les sources, installez l’environnement virtuel et le module Python « wheel » :

git clone https://github.com/eoyilmaz/displaycal-py3
pip3 install virtualenv
pip3 install wheel

Avec openSUSE Leap, c’est les commandes suivantes :

git clone https://github.com/eoyilmaz/displaycal-py3
pip3 install wheel

Création et activation de l’environnement virtuel, compilation et installation des dernières dépendances, compilation et installation de DisplayCAL : 

python3 -m virtualenv ./displaycal_venv && source ./displaycal_venv/bin/activate && cd ./displaycal-py3/ && pip3 install -r requirements.txt && python3 -m build && pip3 install dist/DisplayCAL-3.9.*.whl

Avec openSUSE Leap, c’est la commande suivante :

python3 -m venv ./displaycal_venv && source ./displaycal_venv/bin/activate && cd ./displaycal-py3/ && pip3 install -r requirements.txt && python3 -m build && pip3 install dist/DisplayCAL-3.9.*.whl

Attention : la compilation de wheel pour wxPython prend beaucoup de temps.

Il vous reste à créer un script shell pour lancer DisplayCAL.

#!/bin/sh
cd ~/Téléchargements/displaycal/
python3 -m virtualenv ./displaycal_venv
source ./displaycal_venv/bin/activate
displaycal

Avec openSUSE Leap, le script est le suivant :

#!/bin/sh
cd ~/Téléchargements/displaycal/
python3 -m venv ./displaycal_venv
source ./displaycal_venv/bin/activate
displaycal

Enregistrez le fichier dans le répertoire bin de votre dossier personnel sous le nom displaycal.sh.
Avec votre gestionnaire de fichiers, rendez ce fichier exécutable en faisant un clic droit sur le fichier, choisissez « Propriétés… » puis dans l’onglet « Permissions », dans la ligne « Programme », cochez « Autoriser ce fichier à être exécuté comme un programme ».
Testez votre fichier dans un terminal par :

~/bin/displaycal.sh

Plutôt que lancer DisplayCAL, vous pouvez créer un lanceur. 

Attention : si vous laissez le lanceur sur le bureau, si vous double-cliquez dessus, OpenSuse Tumbleweed vous envera ce message :

Alerte

Cliquez pour évaluer cet article !
[Total: 0 Moyenne: 0]
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires