SafeITExperts

SafeITExperts

Your expert guide to cybersecurity and digital privacy. Security hardening for all platforms : Windows, macOS, Linux, and Android. Solutions aligned standards : NIST and ANSSI for comprehensive digital protection.


google earth pro ne demarre pas opensuse

Publié par Marc sur 20 Juin 2026, 11:09am

Catégories : #openSUSE, #googlearthpro, #libcrypto.so, #Bugs

google earth pro ne demarre pas opensuse

On compare souvent l'installation d'un binaire sur un système ouvert et sur un système fermé. Sur Linux, le parcours est exigeant mais permet de maîtriser les risques. Sur Windows, l'installation est simple, mais la maîtrise des risques est limitée. Installer Google Earth Pro sur openSUSE Tumbleweed devient le début d'une enquête méthodique, du premier crash jusqu'à la solution stable.

🔍 Rappel des faits

Google Earth Pro reste un outil apprécié : imagerie satellite, mesures, vues 3D, données historiques. Sur Linux, Google le distribue toujours sous la forme d'un paquet .rpm (ou .deb) autonome. Le hic : ce paquet est figé sur des bibliothèques d'une autre époque — un Qt 5.5Bibliothèque graphique sortie en 2015. Google Earth la fournit en interne, sans suivre les versions modernes du système (Qt 5.15 ou Qt 6). de 2015 et un OpenSSL 1.0Bibliothèque cryptographique en fin de vie (EOL). Les distributions actuelles sont passées à OpenSSL 3.x, dont l'interface binaire est incompatible. en fin de vie.

Sur une distribution stableCycle de publication lent, privilégiant la fiabilité et les tests approfondis plutôt que les versions les plus récentes. et conservatrice, ça passe encore. Mais sur une rolling releaseModèle de mise à jour continue où les logiciels sont livrés dès qu'ils sont prêts, sans versions majeures figées. à jour comme openSUSE Tumbleweed, durcie avec SELinux enforcingMode de SELinux où les règles de sécurité sont activement appliquées et bloquent toute action non autorisée. et une session WaylandProtocole d'affichage moderne qui remplace X11. Les applications anciennes prévues pour X11 y fonctionnent via une couche de compatibilité, XWayland., le décalage devient frontal : le paquet s'installe, mais l'application ne s'ouvre pas.

📋 Le décor Tout ce qui suit a été reproduit sur openSUSE Tumbleweed, session Wayland, SELinux enforcing, avec google-earth-pro-stable 7.3.7. C'est précisément ce contexte « durci + à jour » qui fait surgir les blocages.

🧭 Le point de départ : un clic, puis rien

Premier réflexe après l'installation : cliquer sur l'icône. Rien ne s'ouvre. Pas de fenêtre, pas de message. Quand une application graphique reste muette, la règle d'or est de la relancer depuis un terminalInterface texte permettant d'exécuter des commandes et de visualiser les messages d'erreur bruts des applications. : c'est là que les vrais messages d'erreur apparaissent.

/opt/google/earth/pro/googleearth-bin

Copié

Et là, le premier indice tombe. Le voyage commence.

🧱 Premier obstacle — la pile exécutableZone mémoire de la pile marquée comme exécutable, pratique risquée que les systèmes durcis interdisent. refusée

libcrypto.so.1.0.0: cannot enable executable stack
as shared object requires: Permission denied

Copié

Traduction : la vieille bibliothèqueFichier contenant du code réutilisable (.so sous Linux) que les programmes chargent pour fonctionner. libcrypto embarquée réclame une pile exécutable, et le système refuse. Plutôt que de deviner, on demande à SELinux ce qu'il a bloqué :

sudo ausearch -m avc -ts recent | grep execstack
# avc: denied { execstack } for comm="googleearth-bin" ... permissive=0

Copié

Le verdict est sans appel : un AVC« Access Vector Cache » — la ligne de journal SELinux qui indique précisément quelle action a été refusée, par quel processus et sur quelle ressource. denied { execstack } en mode permissive=0 (donc réellement bloqué). Avant de corriger, une question : est-ce la seule bibliothèque fautive ? On inspecte tous les binaires du dossier pour repérer le drapeau de pile exécutable (RWE) avec la commande for f in; do readelf ; grep -qBoucle shell combinant readelf (lecture des en-têtes ELF) et grep (recherche silencieuse) pour inspecter plusieurs fichiers. :

for f in /opt/google/earth/pro/lib*.so*; do
  readelf -l "$f" 2>/dev/null | grep -q 'GNU_STACK.*RWE' && echo "$f"
done
# -> /opt/google/earth/pro/libcrypto.so.1.0.0

Copié

Une seule. Le problème est donc circonscrit : inutile de prendre un marteau pour écraser une mouche.

La bonne porte (et la mauvaise)

1

🚫 La fausse bonne idée

Face à ce crash, la tentation est grande de prendre un raccourci. Imaginez un interrupteur géant qui éteindrait toutes les caméras de surveillance de votre immeuble, juste pour que vous puissiez ouvrir la porte de votre placard sans être filmé. C'est exactement ce que propose la solution facile (à écarter) :

setsebool -P selinuxuser_execstack on

Cette commande dit à SELinux : « Autorise tous mes programmes à exécuter du code depuis la pile mémoire ». D'un coup, Google Earth tourne, mais vous venez d'offrir un boulevard à n'importe quel virus ou processus malveillant qui passerait par là. À écarter absolument.

2a

🧑‍⚕️ La méthode chirurgicale

Plutôt que d'affaiblir tout l'organisme, on va opérer une seule cellule : le fichier libcrypto.so qui pose problème. On ne touche pas à la sécurité globale, on retire juste un petit "drapeau" PF_X (un flag) collé sur cette bibliothèque spécifique.

2b

⚠️ Pourquoi SELinux bloque ?

Ici, ce drapeau dit au noyau de Linux : « Cette bibliothèque se réserve le droit d'exécuter du code depuis la zone de la pile mémoire ».

Si le noyau voit ce drapeau PF_X activé, il est obligé de désactiver cette protection pour l'ensemble du processus, car le code lui a promis qu'il en aurait besoin. Or, Google Earth est lancé dans un environnement SELinux strict. En voyant cette demande d'exécution de pile, SELinux dit « Non, pas de compromis » et tue l'application. D'où notre crash.

2c

✅ La sécurité préservée

En retirant ce drapeau, on ne modifie aucun code de la bibliothèque. On efface juste l'étiquette. On dit au noyau : « Rassure-toi, cette bibliothèque n'a pas vraiment besoin d'exécuter sa pile, c'est un résidu de compilation, une vieille habitude des développeurs ». Et dans 99 % des cas, c'est vrai : le code de libcrypto.so tourne très bien sans cette autorisation. En l'effaçant, SELinux cesse de s'alarmer, la protection NX reste active, et la machine reste protégée. On a gagné la bataille sans sacrifier la guerre de la sécurité.

🐍

Script Python — l'outil maison

Sur les distributions classiques, on utiliserait l'outil execstack pour nettoyer ce drapeau. Mais sur openSUSE Tumbleweed, cet outil n'est plus maintenu et n'est plus packagé.

Bonne nouvelle : on va se passer de lui. Pour retirer ce fameux drapeau, on n'a besoin de rien d'autre qu'un mini-script Python. Pas de paquet externe à chercher, pas de dépendance à ajouter : Python est déjà installé sur votre système.

📜

Le script à copier

Voici ce petit outil maison. Copiez ce code dans un fichier (par exemple fix_stack.py) et exécutez-le avec python3 fix_stack.py :

#!/usr/bin/env python3
import struct
f = "/opt/google/earth/pro/libcrypto.so.1.0.0"
d = bytearray(open(f, "rb").read())
phoff     = struct.unpack_from("<Q", d, 0x20)[0]
phentsize = struct.unpack_from("<H", d, 0x36)[0]
phnum     = struct.unpack_from("<H", d, 0x38)[0]
for i in range(phnum):
    o = phoff + i * phentsize
    if struct.unpack_from("<I", d, o)[0] == 0x6474E551:   # PT_GNU_STACK
        fl = struct.unpack_from("<I", d, o + 4)[0]
        struct.pack_into("<I", d, o + 4, fl & ~0x1)       # retire PF_X
        open(f, "wb").write(d); print("PF_X retire"); break

Copié
            
5

🛠️ Sauvegarde et vérification

Passons à la pratique. Avant toute manipulation, on sauvegarde le fichier :

sudo cp -a /opt/google/earth/pro/libcrypto.so.1.0.0 \
           /opt/google/earth/pro/libcrypto.so.1.0.0.bak

Copié
            

Une fois le script exécuté, on confirme que le drapeau est tombé (le segment doit afficher RW, plus RWE) :

readelf -l /opt/google/earth/pro/libcrypto.so.1.0.0 | grep -A1 GNU_STACK

Copié
            
6

🔍 Et pourtant…

On relance. L'erreur a disparu. Victoire ?

Pas tout à fait : l'application va plus loin… et s'effondre autrement.

🧨 Deuxième mur — le crash « signal 6 »

Google Earth has caught signal 6.

Copié

Un signal 6 (SIGABRT)Signal d'« abandon » : le programme s'auto-termine après avoir détecté une condition fatale, souvent via une assertion interne. survient quasi instantanément. Le journal de crash, dans ~/.googleearth/crashlogs/, pointe vers l'initialisation de QtFramework graphique utilisé pour créer des interfaces utilisateur, dont Google Earth embarque une version spécifique. :

QGuiApplicationPrivate::createEventDispatcher
  -> QMessageLogger::fatal -> abort

Copié

Le pluginModule externe chargeable à la volée qui étend les fonctionnalités d'un logiciel (ex: plugin xcb de Qt). xcb de ce vieux Qt s'effondre à l'initialisation. Détail crucial : toutes les bibliothèques se chargent correctement — ce n'est donc pas une dépendance manquante, mais l'initialisation graphique elle-même qui échoue, probablement du côté de l'intégration GLXLa couche qui relie OpenGL au serveur X. Le vieux plugin xcb tente d'y accéder en mode matériel et abandonne sur la pile graphique moderne. matérielle.

Par élimination : tester, écarter, recommencer

C'est ici que le dépannage devient un vrai parcours. On émet une hypothèse — « c'est l'OpenGL matérielRendu 3D accéléré par le GPU (carte graphique), rapide mais parfois incompatible avec les vieilles librairies. qui coince » — et on la teste par paliers, en notant ce qui échoue.

Voici les trois commandes (ou variations) que nous avons testées pour isoler le coupable, avec leurs résultats réels (testés sur openSUSE Tumbleweed, session Wayland) :

🏆

Option A — La solution (GPU conservé)

QT_QPA_PLATFORM=xcb QT_XCB_GL_INTEGRATION=none /opt/google/earth/pro/googleearth

Résultat : ✅ L'application démarre.

Ce que ça prouve : La cause du crash n'était pas l'OpenGL matériel. Désactiver l'intégration GL du plugin xcb suffit. Le GPU est conservé → 3D fluide.

Option B — L'impasse

QT_QUICK_BACKEND=software QT_XCB_GL_INTEGRATION=none /opt/google/earth/pro/googleearth

Résultat : ❌ Échoue (signal 6).

Pourquoi : Le Qt 5.5 embarqué ne contient aucun plugin Wayland (seuls libqxcb, libqminimal, libqoffscreen et libqlinuxfb sont présents dans plugins/platforms/). Sans QT_QPA_PLATFORM=xcb, l'initialisation de la plateforme échoue. Le crashlog de B s'arrête exactement au même point que le crash d'origine (createEventDispatcher).

🔄

Option C — Le repli (rendu logiciel)

QT_QPA_PLATFORM=xcb QT_XCB_GL_INTEGRATION=none LIBGL_ALWAYS_SOFTWARE=1 /opt/google/earth/pro/googleearth

Résultat : ✅ L'application démarre.

Statut : Fonctionne mais force le rendu logiciel (llvmpipe). À réserver si l'option A échoue sur un pilote spécifique, car elle sacrifie inutilement les performances GPU.

La combinaison gagnante est donc la option A : elle isole exactement le point de rupture — l'intégration OpenGL du plugin xcb — et le contourne sans toucher aux performances GPU.

QT_QPA_PLATFORM=xcb QT_XCB_GL_INTEGRATION=none /opt/google/earth/pro/googleearth

Copié
✅ La solution retenue Google Earth Pro démarre désormais avec accélération GPU (3D fluide). Le problème n'était pas le GPU, mais l'intégration buggée du plugin xcb.

🧩 La solution pérenne

Lancer cette variable à la main à chaque fois n'est pas tenable. On confine donc le correctif à Google Earth, via des fichiers utilisateur (qui survivent aux mises à jour du paquet).

📁

Un wrapper dans ~/.local/bin

Placé en tête du PATH, il intercepte le lancement en terminal :

cat > ~/.local/bin/google-earth-pro <<'EOF'
#!/bin/sh
# Le crash venait de l'intégration GL du plugin xcb (Qt 5.5), PAS du GPU.
# Fix retenu (option A, testé 2026-06-20) : forcer la plateforme xcb + désactiver
# l'intégration GL du plugin. L'accélération GPU est CONSERVÉE (3D fluide).
# Repli si A échoue sur un pilote : décommenter la ligne ci-dessous pour
# forcer le rendu logiciel (LIBGL_ALWAYS_SOFTWARE=1).
export QT_QPA_PLATFORM=xcb
export QT_XCB_GL_INTEGRATION=none
# export LIBGL_ALWAYS_SOFTWARE=1   # décommenter pour le repli logiciel
exec /opt/google/earth/pro/googleearth "$@"
EOF
chmod +x ~/.local/bin/google-earth-pro

Copié
            
🖱️

Une entrée de menu utilisateur

Pour que le lancement depuis le menu applique aussi les bonnes variables, on crée un raccourci utilisateur appelant le wrapper (remplacez UTILISATEUR par votre login) :

cat > ~/.local/share/applications/google-earth-pro.desktop <<'EOF'
[Desktop Entry]
Version=1.0
Name=Google Earth Pro
Comment=Explore, search and discover the planet
Exec=/home/UTILISATEUR/.local/bin/google-earth-pro %f
Terminal=false
Icon=google-earth-pro
Type=Application
Categories=Application;Network;
EOF
update-desktop-database ~/.local/share/applications

Copié
            

Terminal ou menu : le contournement s'applique désormais tout seul.

🗺️ Le parcours en un coup d'œil

ÉtapeSymptômeCauseCorrectif
InstallationDépendance mesa-libGLU introuvableNom de paquet hérité de Fedoraopi mesa
Obstacle 1cannot enable
executable stack
libcrypto embarqué refusé par SELinuxRetirer le drapeau PF_X
Obstacle 2caught signal 6Intégration GL du plugin xcb (Qt 5.5)QT_QPA_PLATFORM=xcb + QT_XCB_GL_INTEGRATION=none
PérennitéVariables à retaperLancement non scriptéWrapper + entrée de menu

🏁 Conclusion : méthode de dépannage et état des lieux du binaire

Au-delà de Google Earth, ce parcours illustre une méthode de résolution applicable à n'importe quel bug :

1

Rendre l'erreur visible

Relancer depuis un terminal plutôt que de subir un échec silencieux.

2

Interroger la source

Utiliser SELinux (ausearch) et le journal de crash, au lieu de deviner.

3

Circonscrire

Vérifier l'étendue réelle du problème (une seule lib ?) avant de corriger.

4

Tester par élimination

Avancer hypothèse par hypothèse, garder ce qui marche.

5

Corriger au plus juste

Préférer un correctif ciblé à un interrupteur global qui dégrade tout le système.

6

Vérifier la correction

Valider en terminal et en graphique.

7

Commencer par la solution la plus légère

Ne pas ajouter de couches (ex: rendu logiciel) si la solution simple fonctionne déjà avec le GPU.

🔧 État des lieux du binaire google-earth-pro 7.3.7 (RPM 64 bits) Le paquet est en pratique en maintenance minimale. Il embarque sa propre copie de Qt 5.5 (2015) et d'OpenSSL 1.0 (EOL), via un mécanisme de RPATHChemin de recherche de bibliothèques inscrit dans le binaire, qui le force à charger en priorité ses libs internes plutôt que celles du système. qui le fige dans son passé. Packagé pour Fedora/LSB, il fait des suppositions — pile exécutable tolérée, intégration OpenGL matérielle via X11 — que les distributions modernes durcies rejettent par défaut. Conséquence : sur une rolling release, on sera toujours à colmater un décalage. C'est le prix d'un logiciel propriétaire que l'éditeur pousse désormais vers sa version web.

La leçon est plus large que Google Earth : un binaire propriétaire figé sur un instantané de système vieillit mal face à un OS qui, lui, avance. Le contournement présenté ici (option A) est propre, réversible, confiné et conserve l'accélération matérielle — exactement ce qu'on attend d'un correctif sur un poste qu'on tient à garder sûr et performant.

🔗 Sources et références

Documentation et discussions

Forum openSUSE Forums — Google Earth won't launch

Discussion autour des problèmes de lancement de Google Earth sur openSUSE.

Officiel Google Earth — versions et téléchargement Linux

Page officielle de téléchargement des versions de Google Earth Pro.

Doc execstack(8) — page de manuel Linux

Page de manuel officielle : le drapeau -c et le bit PF_X que manipule le script Python.

Qt Documentation Qt — Plateforme QPA

Documentation officielle Qt sur QT_QPA_PLATFORM et l'intérêt de forcer xcb.

📚 Lectures Recommandées SafeITExperts

Si ce dépannage vous a plu, ces articles prolongent la réflexion sur Linux, openSUSE et la résolution de problèmes :

Méthode Problème informatique : résoudre sans casser

La méthode pour diagnostiquer sans aggraver la situation — l'état d'esprit derrière cet article.

openSUSE openSUSE migration-tool : bugs et limites en 2026

Un autre cas concret de bug openSUSE décortiqué pas à pas.

Écosystème Chronique de la crise Arch Linux 2025-2026

Quand les dépôts et l'infrastructure d'une distribution vacillent.

Système Systèmes de fichiers Linux 2026 : audit, sécurité, migration

Pour aller plus loin dans la compréhension fine d'un système Linux.

✍️ À propos de l'auteur — Marc

Spécialiste indépendant en cybersécurité et protection de la vie privée, fort de 35 ans d'expérience terrain en informatique. Spécialisé dans le durcissement des systèmes Linux, les architectures réseau axées sur la confidentialité et l'analyse concrète du niveau de sécurité des distributions Linux en conditions réelles. Toutes les configurations publiées sont éprouvées en production réelle. Approche inspirée des principes du GIAC GDSA : architectures sécurisées et résilientes, segmentation réseau, reverse proxies et modèle Zero Trust.

📅 📧 safeitexperts@safeitexperts.com
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article

Archives

Nous sommes sociaux !

Facebook X Bluesky Mastodon GitHub Reddit RSS

Articles récents