Toto je také chyba, kterou dostanete, když se pokusíte spustit Eclipse přes ssh bez přesměrování přístupu X. Zapomněli jste spustit ssh -X [email protected]
nebo jste zapomněli uvést ForwardX11 yes
ve vašem ~/.ssh/config
záznam pro server.
Přidávám tuto odpověď pro každého, kdo může narazit na tuto otázku z vyhledávání Google, i když technicky vzato se OP ptá na případ VM.
Kromě toho to může být také způsobeno tím, že aplikace nemá správné oprávnění k zobrazení vzdálenému X server
. K tomu obvykle dochází, když se přihlásíte do relace ssh jako jeden uživatel a jako jiný uživatel spustíte příkaz ke spuštění aplikace GUI. Například když se přihlásíte ke vzdálenému serveru a spustíte sudo
příkaz. Chcete-li tento problém vyřešit, budete muset získat magický soubor cookie uživatele, který se přihlašuje, a importovat soubor cookie pro uživatele spouštějícího příkaz.
Jako uživatel přihlašující se na server, který má oprávnění zobrazovat X
, spustit:
xauth extract cookie_file $DISPLAY
Poté jako uživatel, který se pokouší spustit gui:xauth
sloučit cookie_file
Jakmile je soubor cookie importován do uživatelského souboru .Xauthority
souboru, měli byste být schopni spustit GUI.
Myslím, že to je problém s gtk. Zkontrolujte, jaká verze je nainstalována.
dpkg -l libgtk[0-9]* | grep ^i
Pokud není nainstalován nebo jde o nesprávnou verzi, proveďte sudo apt-get install gtk
nebo proveďte sudo apt-get update
.
UPRAVIT
Problém byl v tom, že SSH používal SSH pro vzdálené připojení k virtuálnímu počítači s Linuxem a neměl X-Server nastavený ve Windows a neměl povoleno předávání X11. Po narovnání by OP neměl mít žádné problémy se spuštěním Eclipse.