C'est également l'erreur que vous obtenez si vous essayez de démarrer Eclipse via ssh sans transférer l'accès X. C'est-à-dire que vous avez oublié d'exécuter ssh -X [email protected]
ou oublié d'inclure ForwardX11 yes
dans votre ~/.ssh/config
entrée pour le serveur.
J'ajoute cette réponse pour tous ceux qui pourraient tomber sur cette question à partir d'une recherche Google, même si techniquement, OP pose des questions sur un cas de machine virtuelle.
De plus, cela peut également être dû au fait que l'application n'a pas l'autorisation correcte d'afficher à la télécommande X server
. Cela se produit généralement lorsque vous vous connectez à la session ssh en tant qu'un utilisateur et exécutez une commande en tant qu'autre utilisateur pour lancer une application graphique. Par exemple, lorsque vous vous connectez au serveur distant et exécutez un sudo
commande. Pour résoudre ce problème, vous devrez obtenir le cookie magique de l'utilisateur qui se connecte et importer le cookie de l'utilisateur exécutant la commande.
En tant qu'utilisateur se connectant au serveur qui a le droit d'afficher à X
, exécutez :
xauth extract cookie_file $DISPLAY
Puis, en tant qu'utilisateur essayant d'exécuter l'interface graphique :xauth
fusionner cookie_file
Une fois le cookie importé dans le .Xauthority
de l'utilisateur fichier, vous devriez pouvoir exécuter l'interface graphique.
Je pense que c'est un problème avec gtk. Vérifiez quelle version est installée.
dpkg -l libgtk[0-9]* | grep ^i
S'il n'est pas installé ou s'il s'agit d'une version incorrecte, faites un sudo apt-get install gtk
ou faites un sudo apt-get update
.
MODIFIER
Le problème était que SSH utilisait SSH pour accéder à distance à une machine virtuelle Linux et n'avait pas de serveur X configuré sur Windows et n'avait pas activé le transfert X11. Après avoir réglé cela, l'OP ne devrait plus avoir de problèmes pour exécuter Eclipse.