Loại trừ các vấn đề phía máy chủ
Trước tiên, bạn nên loại trừ bất kỳ vấn đề nào về phía máy chủ. Bạn có thể ssh -X
từ bất kỳ máy chủ khác thành công? Có ssh -Y
làm việc trong khi ssh -X
không? Trong cả hai trường hợp, giả sử ssh + X11 được thiết lập chính xác trên máy chủ của bạn và chuyển sang phần tiếp theo.
Nếu bạn không ở vị trí để kiểm tra điều đó (bạn có nhưng một máy tính xách tay của bạn đang chạy X11, giả sử), bạn có thể ssh
từ máy chủ đến chính nó bằng một phiên giả:
export DISPLAY=:44
# (Vỏ Bourne) hoặc
setenv DISPLAY :44
# (csh / tcsh)
xauth add $DISPLAY MIT-MAGIC-COOKIE-1 1234
# Cookie Bogus chỉ dành cho thử nghiệm này
ssh -X localhost env |grep DISPLAY
Kết quả dự kiến: sẽ có một biến HIỂN THỊ được đặt ở đầu từ xa của phiên ssh-to-self. Nếu bạn không nhận được kết quả, máy chủ của bạn có thể bị cấu hình sai (ví dụ: thư viện X11 và / hoặc xauth
lệnh có thể bị thiếu; hoặc cấu hình sshd có thể được đặt để từ chối truy cập X11)
Trên Mac: kiểm tra xem Xquartz có cập nhật không
Theo câu trả lời của Will Angley
Kiểm tra ssh -vv -X
đầu ra
Thông báo lỗi bạn trích dẫn là một triệu chứng có thể có nhiều nguyên nhân. Hãy thử lại với , điều này sẽ cung cấp cho bạn thêm manh mối về lý do tại sao thiết lập đường hầm X11 không thành công.ssh -X -vv remotehost
Bạn có thấy thông báo sau xuất hiện không?
debug1: Không có chương trình xauth.
Nếu vậy,
- Lưu ý vị trí trên hệ thống máy khách của bạn,
xauth
lệnh nằm trong:mà xauth
- Thêm phần sau vào cuối ~ / .ssh / config của bạn (và thêm nhận xét để nhắc nhở bản thân giữ nó ở đó trong tương lai):
Người dẫn chương trình *
XAuthLocation / opt / X11 / bin / xauth
Điều chỉnh đường dẫn này theo phát hiện của bước 1 - Tín dụng cho Jan-Willem Arnold