Cygwin в Windows: не удается открыть дисплей

25

Я использую Windows 10 на Surface Pro 3. Я установил Cygwin, а также добавил несколько полезных пакетов (gvim, nedit, emacs, vim, g ++). Однако, когда я запускаю gvim, я получаю сообщение «Не могу открыть дисплей». То же самое происходит с Nedit. Когда я сделал эхо $ DISPLAY, я ничего не показывал, поэтому я установил DISPLAY на: 0.0. Я все еще получаю «не могу открыть дисплей». Я попытался удалить Cygwin и переустановить, но у меня та же проблема.

Джон
источник
1
Похоже, сервер X11 не работает. Вы работали через шаги на x.cygwin.com ?
thrig
Позвольте мне также уточнить, что я использую Cygwin на своей машине, где я являюсь администратором. Да, я установил пакеты x11 и просмотрел проблемы с x11, но это не решает проблему.
Джон

Ответы:

24

Программы Unix GUI отображаются через X-сервер . Cygwin не запускает автоматически X-сервер. Вам нужно установить пакеты xorg-serverи xinit, и запуститьstartxwin .

Жиль "ТАК - перестань быть злым"
источник
4
По состоянию на 2017/01 год startxwin включен в пакет xinit
Дэвид Люнг Мэдисон
8

Источник: CygwinX FAQ :

Начиная с X-сервера 1.17, по умолчанию сервер не прослушивает соединения TCP / IP, а только принимает локальные соединения на сокете домена unix. Для местных клиентов, использование DISPLAY=:0.0, а не DISPLAY=localhost:0.0, DISPLAY=127.0.0.1:0.0, DISPLAY=::1:0.0и т.д.

Если это не работает (если вы подключаетесь удаленно): используйте -listen tcpопцию, чтобы восстановить предыдущее поведение, позволяя X-серверу также открыть сокет TCP / IP, например:

startxwin -- -listen tcp

Наконец, не забудьте запустить xhost +в терминале Cygwin.

Какая разница
источник
4

То, что помогло мне, меняется

DISPLAY=:0.0 <mycommand>

в

DISPLAY=localhost:0.0 <mycommand>
Андрей
источник
странно, работает локально, после установки всех пакетов и первого запуска xlaunch с отображением по умолчанию (0), у меня работает следующая команда: DISPLAY =: 0.0 gimp
theRiley
2

Вы также можете использовать XLaunch / Xming .

  • Откройте XLaunch, выберите «Несколько окон» и установите номер дисплея (не имеет значения).
  • В Cygwin export DISPLAY=[whatever your XLaunch Display number is].
  • Запустите вашу программу с gvim &
rubynorails
источник
1

Как я получил это работает:

  • Установить пакеты xorg-serverи xinit.
  • Запустите эти команды в окне оболочки Cygwin:

    startxwin

    DISPLAY=localhost:0.0 xterm

Однако, если честно, консоль CygWin по умолчанию приятнее, чем XTerm, поэтому я продолжал использовать ее.

Контанго
источник
-2

просто экспортируйте это

экспорт DISPLAY = localhost: 0.0

чтобы сделать это настойчивым, добавьте это к вашему .bash_profile

user30772
источник