Hệ thống con Cygwin / X và Windows cho Linux


14

Tôi có cài đặt Cygwin hoạt động trên thiết bị Windows 10 của mình (Surface 3, trong trường hợp có vấn đề), bao gồm cả môi trường cửa sổ Xorg hoạt động. Tôi cũng mới bắt đầu thử nghiệm với Hệ thống con Windows cho Linux. Có vẻ như lời khuyên cho việc chạy các ứng dụng GUI từ WSL là cài đặt một máy chủ X khác. Thông thường Xming được khuyến nghị, nhưng tôi chưa thấy bất kỳ đề xuất nào mà Cygwin không nên làm.

Tuy nhiên, cách đơn giản thất bại:

WSL $ export DISPLAY=:0
WSL $ emacs &
Display :0 unavailable, simulating -nw

Tôi nghi ngờ nó có thể là một vấn đề mạng, bởi vì

WSL $ telnet localhost 6000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
WSL $ /sbin/ifconfig
Warning: cannot open /proc/net/dev (No such file or directory). Limited output.
WSL $ # there was no output at all, actually

... nhưng ssh với một máy từ xa hoạt động tốt và rõ ràng Xservers đã ngừng nghe trên cổng 6000 kể từ lần cuối cùng tôi gỡ lỗi.

Tôi đã thử chạy cygwin $ xhost +localhost, chỉ để phát hiện ra rằng xhosthiện không được cài đặt ở đó. Mà có thể là điều tiếp theo để thử, hoặc có thể là một đuổi ngỗng hoang dã --- xhost(hoặc ít nhất, một khỏa thân xhost +) chủ yếu nản lần cuối cùng tôi sửa lỗi một máy chủ X.

Có một số lỗ hổng cơ bản ngăn WSL sử dụng máy chủ Cygwin X không? Nếu không, tôi sẽ tiến hành như thế nào?


1
Vì bạn đang sử dụng thiết bị DPI cao (Surface 3), thủ thuật bổ sung này có thể hữu ích cho bạn. Bạn có thể tăng kích thước phông chữ, kích thước cửa sổ, v.v., bằng cách thay đổi những gì CygwinX nghĩ DPI màn hình. Chỉnh sửa /etc/X11/Xresourcesvà thay đổi Xft.dpimặc định từ 96. Màn hình của bạn phải là 214 DPI, do đó văn bản phải trông khá nhỏ thông qua CygwinX. Bất kể, bạn có thể điều chỉnh giá trị DPI đó để thay đổi tỷ lệ theo ý thích của bạn. (Chỉ cần khởi động lại CygwinX giữa các thay đổi.)
Chris

Câu trả lời:


15

Bạn cần nói với Cygwin / X để nghe TCP, điều này không được mặc định. Bạn làm điều này bằng cách chuyển tùy chọn -listen tcpcho XLaunch. Khi bạn làm điều này, nó hoạt động thực sự tốt. Tôi thực sự thích Cygwin / X hơn Xming. Thêm chi tiết trong hướng dẫn .


Tìm lối tắt mà bạn đang sử dụng để bắt đầu Cygwin / X. (Các phím tắt khởi động cho mỗi người dùng đang ở trong C:\Users\<you>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupkhi các phím tắt khởi động trên toàn hệ thống đang ở C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp. Mở "Thuộc tính" của liên kết này và thay đổi mục tiêu từ

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin"

đến

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin -- -listen tcp"

Để được xauthhỗ trợ, bạn nên sao chép ~/.Xauthoritytừ thư mục nhà của Cygwin sang thư mục nhà của WSL.

Hoặc nếu bạn muốn tắt xauth, bạn có thể chỉnh sửa Cygwin /usr/bin/startxwin, thay đổi dòng thích hợp gần đầu enable_xauth=0.


Nó hoạt động với tôi bằng cách thêm -listen tcp vào trường bảng điều khiển của XLaunch khi tôi nhấp vào XLaunch trong menu Bắt đầu. Tôi không thể sửa đổi thuộc tính với mục menu để thay đổi đối số dòng lệnh.
Yu Shen

0

Bạn phải khởi động máy chủ X với startx. Nếu bạn chưa cài đặt X Windows, hãy chạy Cygwin setup.exevà chọn tất cả các hệ thống X Windows và trình quản lý cửa sổ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.