Cygwin sous Windows: impossible d'ouvrir l'affichage

25

J'utilise Windows 10 sur ma Surface Pro 3. J'ai installé Cygwin et j'ai également ajouté des packages utiles (gvim, nedit, emacs, vim, g ++). Cependant, lorsque j'exécute gvim, j'obtiens "Impossible d'ouvrir l'affichage". La même chose se produit avec nedit. Lorsque j'ai fait écho sur $ DISPLAY, je n'ai rien montré, j'ai donc réglé DISPLAY sur: 0.0. Je reçois toujours "ne peut pas ouvrir l'affichage." J'ai essayé de supprimer cygwin et de réinstaller, mais j'obtiens le même problème.

John
la source
1
On dirait que le serveur X11 ne fonctionne pas. Avez-vous suivi les étapes de x.cygwin.com ?
thrig
Permettez-moi également de préciser que j'exécute Cygwin sur ma machine, où je suis administrateur. Oui, j'ai installé les packages x11 et j'ai examiné les problèmes x11, mais cela ne résout pas le problème.
John

Réponses:

24

GUI programmes Unix affichent à travers un serveur X . Cygwin ne démarre pas automatiquement un serveur X. Vous devez installer les packages xorg-serveret xinit, et exécuterstartxwin .

Gilles 'SO- arrête d'être méchant'
la source
4
Depuis 2017/01, startxwin est inclus dans le package xinit
David Ljung Madison Stellar
8

Source: FAQ CygwinX :

Depuis le serveur X 1.17, par défaut, le serveur n'écoute pas les connexions TCP / IP, acceptant uniquement les connexions locales sur un socket de domaine Unix. Pour les clients locaux, l' utilisation DISPLAY=:0.0, plutôt que DISPLAY=localhost:0.0, DISPLAY=127.0.0.1:0.0, DISPLAY=::1:0.0, etc.

Si cela ne fonctionne pas (si vous vous connectez à distance): utilisez l' -listen tcpoption pour restaurer le comportement précédent, permettant également au serveur X d'ouvrir un socket TCP / IP, par exemple

startxwin -- -listen tcp

Enfin, n'oubliez pas de vous lancer xhost +dans le terminal Cygwin.

On s'en fout
la source
4

Ce qui m'a aidé change

DISPLAY=:0.0 <mycommand>

à

DISPLAY=localhost:0.0 <mycommand>
Andriy
la source
étrange, exécuté localement, après avoir installé tous les packages et exécuté d'abord xlaunch avec l'affichage par défaut (0), la commande suivante fonctionne pour moi: DISPLAY =: 0.0 gimp
theRiley
2

Vous pouvez également utiliser XLaunch / Xming .

  • Ouvrez XLaunch, choisissez "Plusieurs fenêtres" et définissez un numéro d'affichage (peu importe).
  • En Cygwin, export DISPLAY=[whatever your XLaunch Display number is].
  • Lancez votre programme avec gvim &
rubynorails
la source
1

Comment je l'ai fait fonctionner:

  • Installez les packages xorg-serveret xinit.
  • Exécutez ces commandes dans une fenêtre de shell Cygwin:

    startxwin

    DISPLAY=localhost:0.0 xterm

Cependant, pour être honnête, la console CygWin par défaut est plus agréable que XTerm, j'ai donc continué à l'utiliser.

Contango
la source
-2

il suffit de l'exporter

export DISPLAY = localhost: 0.0

pour rendre persistant ajoutez cela à votre .bash_profile

user30772
la source