2012-04-12 42 views
7

Tôi đang sử dụng Git Bash trên Windows. Tôi đã sử dụng Git Bash để SSH vào một máy UNIX và cố gắng chạy một chương trình với GUI. Tôi nhận được thông báo: Đã phát hiện thấy hệ thống LINUX/UNIX nhưng không thể truy cập màn hình X11.phiên X trong Git Bash trên Windows?

Tôi có X-Win 32 (thương mại). Tôi cũng đã sử dụng Xming giống như một phiên bản miễn phí của X-Win 32 nhưng có vấn đề với một số đồ họa.

Có cách nào để hệ thống từ xa này có thể truy cập màn hình X11 của tôi thông qua X-Win 32 hoặc Xming hay thông qua bất kỳ cách nào?

Tôi chỉ muốn chạy các chương trình như MATLAB, với GUI bật lên, từ máy UNIX, khi SSH vào máy đó qua Git Bash trên Windows.

Tôi cũng có PuTTY và Secure Shell Client được cài đặt, nhưng muốn làm việc độc quyền biểu mẫu Git Bash vì nó yêu cầu ít nút bấm hơn để ssh cho các máy khác.

Nếu không thể làm việc này trên Git Bash, tôi muốn làm việc với PuTTY (Secure Shell Client là tốt nhưng đã ngừng cập nhật vĩnh viễn).

+0

Hai điều: 1. Bạn cần phải tắt kiểm soát truy cập trong Xming (để '-ac') [không được khuyến nghị] và 2. Bạn cần thiết lập DISPLAY để trỏ đến IP nơi Xming đang chạy khi cố gắng kết nối. – Stanislav

Trả lời

0

Bạn có thể thử thêm công tắc -X vào lệnh ssh của bạn trong git bash. Tôi không chắc chắn nếu điều này sẽ làm việc. Tuy nhiên, nó không phải là phương pháp tôi sẽ đề nghị. Thay vào đó, tôi khuyên bạn nên xem xét việc chuyển tiếp X bằng cách sử dụng putty. Bạn sẽ có thể tìm thấy một loạt các hướng dẫn về cách thiết lập điều này với một tìm kiếm nhanh chóng.

+0

Cảm ơn bạn rất nhiều vì đã trả lời. Tôi đã thử: ssh -X [email protected] và sau đó là xclock, và nó nói "error: Can't open display". Tôi đã có thể nhận được xclock để làm việc trên cùng một máy chủ trong PuTTY mặc dù bằng cách vào Connection-> SSH-> X11 và chọn "enable X11 tunelling" và thiết lập vị trí hiển thị thành 127.0.0.1:0 (tức là, máy của riêng tôi, mà PuTTY đang chạy). Cảm ơn lời khuyên của bạn. Nó sẽ vẫn là lý tưởng để có thể làm điều này từ Git Bash - tại sao bạn không khuyên dùng nó? – user1271772

+0

Tôi sẽ không khuyên bạn nên bởi vì từ những gì tôi hiểu git bash tồn tại chỉ để cung cấp cho bạn một dòng lệnh tiện dụng cho git trên cửa sổ. Ngay cả khi bạn có thể làm cho nó hoạt động, tôi nghi ngờ X forwarding nằm trên radar của nhà phát triển. –

1

Bạn phải khởi động máy chủ X trước khi kết nối bằng SSH. Và khi bạn kết nối với hộp khác, bạn sẽ phải bao gồm công tắc -X với SSH. Điều đó sẽ cho SSH biết để chuyển tiếp đầu ra ứng dụng X11 vào hộp Windows của bạn.

+0

Cảm ơn bạn rất nhiều vì đã trả lời. Tôi đã thử: ssh -X [email protected] và sau đó xclock, và nó nói "lỗi: Không thể mở hiển thị" – user1271772

0

Vấn đề của bạn là, bằng cách nào đó bạn phải chuyển dữ liệu XAuthority sang máy chủ từ xa. Thông thường SSH thực hiện điều này cho bạn, nhưng chỉ khi nó bắt đầu với các biến môi trường thích hợp. Về cơ bản bạn cần tìm ra vị trí của dữ liệu xauth và đặt đường dẫn đó vào biến môi trường XAUTHORITY. DISPLAY rất có thể là ": 0.0".

Tôi nghĩ rằng giải pháp đơn giản nhất là sử dụng Cygwin và máy chủ X11 mà nó vận chuyển, vì tập lệnh khởi động X của nó sẽ mở một xterm mà từ đó bạn có thể SSH tới máy từ xa.

3

tôi đã có thể thực hiện điều này bằng putty và Xming http://sourceforge.net/projects/xming/

Đơn giản chỉ cần bắt đầu Xming và cho phép chuyển tiếp x phiên trong các tùy chọn putty của.

+0

nó hoạt động với git-bash và xming quá, ít nhất là cho 'xclock'. chỉ cần đặt hiển thị thành 'localhost ...' trước 'ssh'ing. – mulllhausen

11

Q này là khá cũ, nhưng dù sao ... tôi (cuối cùng ...) có thể có được điều này làm việc bằng cách sử dụng lệnh ssh từ Git for WindowsXMing. Tất cả những gì tôi phải làm là đặt biến môi trường DISPLAY thành localhost:0.0 (chỉ được đặt thành :0.0).

+0

Làm thế nào để bạn chỉnh sửa các biến môi trường trong Git Bash? Hay bạn đã làm điều này trong ssh? Cảm ơn – Anon343224user

+2

Đặt 'xuất DISPLAY = localhost: 0.0' trong' $ HOME/.bashrc' của bạn. –

+1

Tôi đã thêm điều này thông qua Biến môi trường hệ thống cho các cửa sổ và nó hoạt động tốt cho tôi. –

6

Phương án thay thế cho Xming là VcXsrv được tạo bằng Visual Studio C++. Phiên bản mới nhất của Xming hiện yêu cầu đóng góp.

Trỏ chuột đến biểu tượng X trên thanh trạng thái và tìm hiểu cổng nào đang chạy trên đó. Nếu đó là :0.0 (hoặc :25.0), thì trong Git Bash: export DISPLAY=localhost:0.0 (hoặc export DISPLAY=localhost:25.0). Bạn cũng có thể cần sử dụng -Y thay vì -X vào lệnh ssh của mình.

+0

Bài đăng này phù hợp với tôi. – jdhao

Các vấn đề liên quan