Cygwin unter Windows: Anzeige kann nicht geöffnet werden

25

Ich verwende Windows 10 auf meinem Surface Pro 3. Ich habe Cygwin installiert und einige nützliche Pakete hinzugefügt (gvim, nedit, emacs, vim, g ++). Wenn ich jedoch gvim ausführe, wird "Anzeige kann nicht geöffnet werden" angezeigt. Das gleiche passiert mit nedit. Als ich $ DISPLAY als Echo ausgegeben habe, habe ich nichts angezeigt und das DISPLAY auf: 0.0 gesetzt. Ich erhalte immer noch die Meldung "Das Display kann nicht geöffnet werden." Ich habe versucht, Cygwin zu entfernen und neu zu installieren, aber ich habe das gleiche Problem.

John
quelle
1
Klingt so, als ob der X11-Server nicht läuft. Haben Sie die Schritte unter x.cygwin.com durchgearbeitet ?
Thrig
Lassen Sie mich auch klarstellen, dass ich Cygwin auf meinem Computer ausführe, auf dem ich Administrator bin. Ja, ich habe die x11-Pakete installiert und die x11-Probleme durchgesehen, aber das löst das Problem nicht.
John

Antworten:

24

Unix-GUI-Programme werden über einen X-Server angezeigt . Cygwin startet einen X-Server nicht automatisch. Sie müssen die Pakete und und installieren und ausführen .xorg-serverxinitstartxwin

Gilles 'SO - hör auf böse zu sein'
quelle
4
Ab dem 01.01.2017 ist startxwin im xinit-Paket enthalten
David Ljung Madison Stellar
8

Quelle: CygwinX FAQ :

Seit X Server 1.17 wartet der Server standardmäßig nicht mehr auf TCP / IP-Verbindungen, sondern akzeptiert nur lokale Verbindungen auf einem Unix-Domain-Socket. Für die lokalen Kunden, Verwendung DISPLAY=:0.0, anstatt DISPLAY=localhost:0.0, DISPLAY=127.0.0.1:0.0, DISPLAY=::1:0.0usw.

Wenn es nicht funktioniert (wenn Sie eine Verbindung von einem entfernten Standort herstellen): Verwenden Sie die -listen tcpOption, um das vorherige Verhalten wiederherzustellen und dem X-Server zu ermöglichen, auch einen TCP / IP-Socket zu öffnen, z

startxwin -- -listen tcp

Vergessen Sie nicht, xhost +im Cygwin-Terminal zu laufen .

Wen interessiert das
quelle
4

Was mir geholfen hat, verändert sich

DISPLAY=:0.0 <mycommand>

zu

DISPLAY=localhost:0.0 <mycommand>
Andriy
quelle
Ungerade, lokal ausgeführt, nach der Installation aller Pakete und dem ersten Ausführen von xlaunch mit der Standardanzeige (0) funktioniert der folgende Befehl für mich: DISPLAY =: 0.0
gimp
2

Sie können auch XLaunch / Xming verwenden .

  • Öffnen Sie XLaunch, wählen Sie "Mehrere Fenster" und legen Sie eine Anzeigenummer fest (egal).
  • In Cygwin export DISPLAY=[whatever your XLaunch Display number is].
  • Starten Sie Ihr Programm mit gvim &
rubynorails
quelle
1

Wie ich es zum Laufen gebracht habe:

  • Installieren Sie die Pakete xorg-serverund xinit.
  • Führen Sie diese Befehle in einem Cygwin-Shell-Fenster aus:

    startxwin

    DISPLAY=localhost:0.0 xterm

Um ehrlich zu sein, ist die Standard-CygWin-Konsole besser als XTerm, also habe ich sie weiter verwendet.

Contango
quelle
-2

exportiere es einfach

export DISPLAY = localhost: 0.0

um es dauerhaft zu machen, füge es deinem .bash_profile hinzu

user30772
quelle