Cygwin di Windows: Tidak dapat membuka layar

25

Saya menjalankan Windows 10 pada Surface Pro 3. Saya menginstal Cygwin dan juga menambahkan beberapa paket yang berguna (gvim, nedit, emacs, vim, g ++). Namun, ketika saya menjalankan gvim, saya mendapatkan "Tidak dapat membuka tampilan". Hal yang sama terjadi dengan nedit. Ketika saya melakukan echo $ DISPLAY, saya tidak menunjukkan apa-apa jadi saya mengatur DISPLAY ke: 0,0. Saya masih mendapatkan "tidak bisa membuka tampilan." Saya mencoba menghapus cygwin dan menginstal ulang tetapi saya mendapatkan masalah yang sama.

John
sumber
1
Kedengarannya seperti server X11 tidak berjalan. Sudahkah Anda mengerjakan langkah-langkah di x.cygwin.com ?
thrig
Izinkan saya juga menjelaskan bahwa saya menjalankan Cygwin di komputer saya, di mana saya adalah admin. Ya, saya menginstal paket x11, dan melihat melalui masalah x11 tetapi itu tidak menyelesaikan masalah.
John

Jawaban:

24

Program Unix GUI menampilkan melalui X server . Cygwin tidak secara otomatis memulai server X. Anda perlu menginstal paket xorg-serverdan xinit, dan menjalankanstartxwin .

Gilles 'SANGAT berhenti menjadi jahat'
sumber
4
Mulai 2017/01, startxwin sudah termasuk dalam paket xinit
David Ljung Madison Stellar
8

Sumber: FAQ CygwinX :

Sejak X server 1.17, secara default server tidak mendengarkan koneksi TCP / IP, hanya menerima koneksi lokal pada soket domain unix. Untuk klien lokal, penggunaan DISPLAY=:0.0, bukan DISPLAY=localhost:0.0, DISPLAY=127.0.0.1:0.0, DISPLAY=::1:0.0, dll

Jika tidak berhasil (jika Anda terhubung dari jarak jauh): Gunakan -listen tcpopsi untuk memulihkan perilaku sebelumnya, memungkinkan server X untuk membuka soket TCP / IP juga mis.

startxwin -- -listen tcp

Akhirnya, jangan lupa untuk menjalankan xhost +di terminal Cygwin.

Siapa peduli
sumber
4

Apa yang membantu saya berubah

DISPLAY=:0.0 <mycommand>

untuk

DISPLAY=localhost:0.0 <mycommand>
Andriy
sumber
aneh, berjalan secara lokal, setelah menginstal semua paket dan pertama kali menjalankan xlaunch dengan tampilan default (0), perintah berikut berfungsi untuk saya: DISPLAY =: 0,0 gimp
theRiley
2

Anda juga dapat menggunakan XLaunch / Xming .

  • Buka XLaunch, pilih "Multiple Windows", dan atur nomor Display (tidak masalah).
  • Di Cygwin export DISPLAY=[whatever your XLaunch Display number is],.
  • Luncurkan program Anda dengan gvim &
rubynorails
sumber
1

Bagaimana saya membuatnya bekerja:

  • Instal paket xorg-serverdan xinit.
  • Jalankan perintah ini di jendela shell Cygwin:

    startxwin

    DISPLAY=localhost:0.0 xterm

Namun, jujur ​​saja, konsol CygWin default lebih bagus daripada XTerm, jadi saya terus menggunakannya.

Contango
sumber
-2

cukup ekspor saja

export DISPLAY = localhost: 0.0

untuk membuat persistent tambahkan itu ke .bash_profile Anda

pengguna30772
sumber