Forum Linux.général qt.qpa.xcb: could not connect to display

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
10
mar.
2022

Bonjour,

Lorsque que je veux lancer kpat à partir du terminal, j'obtiens la réponse suivante :

qt.qpa.xcb: could not connect to display :
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Aborted

Comment remédier à ce problème ?

Merci

  • # Environnement

    Posté par  . Évalué à 5.

    Déjà, la bonne réponse dépend du serveur graphique: X11 ? Wayland ?

    Pour ce premier, bien vérifier que la variable DISPLAY existe dans le terminal. Sa valeur devrait probablement être "DISPLAY=:0".
    Si la variable n'est pas là c'est quand même surprenant.

    Si c'est Wayland, alors apparemment Qt a choisi la mauvaise plateforme, ce qui serait surprenant. Essayer "-platform wayland" en argument.

    • [^] # Re: Environnement

      Posté par  . Évalué à 2. Dernière modification le 10 mars 2022 à 15:12.

      En complément : je suis déjà tombé sur une erreur proche ou identique, suite à une mise à jour des outils de dév Qt. Qt Creator ne démarrait plus.

      J'ai créé un lien symbolique dans le répertoire de l'appli, /home/totof/QtSDK/Tools/QtCreator/bin dans mon cas :

      libxcb-util.so.1 -> /usr/lib/x86_64-linux-gnu/libxcb-util.so.0
      

      Puis :

      export LD_LIBRARY_PATH=/home/totof/QtSDK/Tools/QtCreator/bin:$LD_LIBRARY_PATH
      

      C'est pas top, l'appli utilise une version .0 pensant que c'est une .1, mais là, ça passe …

      Il me semble que j'avais utilisé :

      QT_DEBUG_PLUGINS=1 <appli qui ne démarre pas>
      

      pour identifier le problème et la librairie, étant donné que c'était un plugin et non pas l'appli elle-même qui l'utilise.

      Sinon, ldd aurait pu faire l'affaire.

      • [^] # Re: Environnement

        Posté par  . Évalué à 1.

        Voici ce que j'obtiens

        libxcb-util.so.1 -> /usr/lib/x86_64-linux-gnu/libxcb-util.so.0
        -bash: /usr/lib/x86_64-linux-gnu/libxcb-util.so.0: Permission denied

        • [^] # Re: Environnement

          Posté par  . Évalué à 1.

          Ce n'était pas une commande, je décrivais juste le lien symbolique.
          Pour le créer, il faut d'abord se placer dans le répertoire de l'application qui pose problème. Qu'est-ce que je raconte ? Non, ça, c'est mon cas particulier. Mieux vaut créer un répertoire pour ça et se placer dedans.
          Ensuite :

          ln -s /usr/lib/x86_64-linux-gnu/libxcb-util.so.0 libxcb-util.so.1

          A la condition bien sûr que /usr/lib/x86_64-linux-gnu/libxcb-util.so.0 existe sur le système (oui, dans mon cas, à l'époque, sur une Debian Buster ou Bullseye; mais peut-être que la version a changé depuis).

          Un ls -AlF permettra de confirmer la création du lien.
          Ensuite, dans le LD_LIBRARY_PATH, c'est ce nouveau répertoire qu'il faut ajouter. En tête, c'est important qu'il soit considéré avant les autres (si il y en a).
          Cet ajout n'a de portée que dans le shell courant. Lancer l'application à partir du menu ne servirait à rien, il faut la lancer à partir du même shell, ou créer un script qui change le LD_LIBRARY_PATH puis lance l'appli.

          En espérant que le problème soit bien libxcb-util.so.

    • [^] # Re: Environnement

      Posté par  . Évalué à 1.

      Hélas, ça ne fonctionne pas :

      kpat -platform wayland
      error: XDG_RUNTIME_DIR not set in the environment.
      Failed to create wl_display (No such file or directory)
      qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
      This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

      Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.