Cygwin w systemie Windows: nie można otworzyć wyświetlacza

25

Korzystam z systemu Windows 10 na moim Surface Pro 3. Zainstalowałem Cygwin, a także dodałem kilka użytecznych pakietów (gvim, nedit, emacs, vim, g ++). Jednak po uruchomieniu gvim pojawia się komunikat „Nie można otworzyć wyświetlacza”. To samo dzieje się z nedit. Kiedy powtórzyłem echo $ DISPLAY, nie pokazałem nic, więc ustawiłem DISPLAY na: 0.0. Nadal pojawia się komunikat „Nie można otworzyć wyświetlacza”. Próbowałem usunąć cygwin i ponownie zainstalować, ale mam ten sam problem.

Jan
źródło
1
Wygląda na to, że serwer X11 nie działa. Czy wykonałeś już czynności na stronie x.cygwin.com ?
thrig
Pozwolę sobie również wyjaśnić, że korzystam z Cygwin na moim komputerze, na którym jestem administratorem. Tak, zainstalowałem pakiety x11 i przejrzałem problemy x11, ale to nie rozwiązuje problemu.
Jana

Odpowiedzi:

24

Programy Unix GUI wyświetlane za pośrednictwem serwera X . Cygwin nie uruchamia automatycznie serwera X. Musisz zainstalować pakiety xorg-serveri xinit, i uruchomićstartxwin .

Gilles „SO- przestań być zły”
źródło
4
Począwszy od 2017/01, startxwin jest zawarty w pakiecie xinit
David Ljung Madison Stellar
8

Źródło: CygwinX FAQ :

Od wersji X serwera 1.17 serwer domyślnie nie nasłuchuje połączeń TCP / IP, akceptując tylko połączenia lokalne w gnieździe domeny unix. Dla lokalnych klientów, stosowanie DISPLAY=:0.0, zamiast DISPLAY=localhost:0.0, DISPLAY=127.0.0.1:0.0, DISPLAY=::1:0.0, etc

Jeśli to nie działa (jeśli łączysz się ze zdalnego): Użyj -listen tcpopcji, aby przywrócić poprzednie zachowanie, pozwalając również serwerowi X na otwarcie gniazda TCP / IP, np.

startxwin -- -listen tcp

Na koniec nie zapomnij uruchomić xhost +w terminalu Cygwin.

Kogo to obchodzi
źródło
4

Pomogło mi to zmienić

DISPLAY=:0.0 <mycommand>

do

DISPLAY=localhost:0.0 <mycommand>
Andrij
źródło
nieparzyste, uruchamiane lokalnie, po zainstalowaniu wszystkich pakietów i pierwszym uruchomieniu Xlauncha z domyślnym wyświetlaczem (0), działa dla mnie następująca komenda: DISPLAY =: 0,0 gimp
theRiley
2

Możesz także użyć XLaunch / Xming .

  • Otwórz XLaunch, wybierz „Wiele okien” i ustaw Wyświetlany numer (nie ma znaczenia).
  • W Cygwin export DISPLAY=[whatever your XLaunch Display number is].
  • Uruchom swój program za pomocą gvim &
rubinorails
źródło
1

Jak to działa:

  • Zainstaluj pakiety xorg-serveri xinit.
  • Uruchom te polecenia w oknie powłoki Cygwin:

    startxwin

    DISPLAY=localhost:0.0 xterm

Jednak szczerze mówiąc, domyślna konsola CygWin jest ładniejsza niż XTerm, więc nadal z niej korzystałem.

Contango
źródło
-2

po prostu wyeksportuj to

eksport WYŚWIETLACZ = host lokalny: 0,0

aby trwały, dodaj go do swojego .bash_profile

użytkownik30772
źródło