Tôi kết nối (thông qua ssh -Y ...
) từ một máy (= client) với một máy khác (= máy chủ, thực sự trong mạng LAN của tôi, nhưng nó không liên quan); sau đó tôi bắt đầu một không gian tên mạng mới (viết tắt là NNS) trên máy chủ, tôi bắt đầu một xterm (từ không gian tên mặc định) được hiển thị hoàn hảo trên máy khách của tôi và cuối cùng, từ trong xterm, tôi tham gia NNS không mặc định ,
ip netns exec NNSName bash
Tôi có thể kiểm tra xem tôi có trong NNS mới không,
ip netns identify $$
và tôi có thể chạy các chương trình phức tạp như, ví dụ, OpenVPN từ bên trong NNS mới.
Chà là ở đây: Tôi muốn bắt đầu một ứng dụng đồ họa (ngay cả xeyes
lúc này) từ bên trong NNS mới, nhưng tôi không thể, tôi luôn được thông báo:Unable to open DISPLAY=...
Phải thừa nhận rằng, tôi chỉ thử một điều hiển nhiên:
DISPLAY=:0.0
DISPLAY=:10.0
DISPLAY=localhost:10.0
DISPLAY=localhost:20.0
DISPLAY=ClientName:10.0
DISPLAY=ClientIPAddress:10.0
luôn luôn với xhost +
khách hàng, cho mục đích gỡ lỗi thuần túy.
Tôi không có vấn đề:
kết nối thông qua
ssh -Y ....
từ máy khách đến máy chủ, chạyxeyes
trên máy chủ và hiển thị nó trên máy khách;bắt đầu một NNS mới trên máy chủ và bắt đầu các ứng dụng đồ họa trong NNS sẽ được hiển thị trên máy chủ ( nghĩa là trong trường hợp này hãy quên máy khách).
Đó là khi tôi đặt hai thứ này lại với nhau (ssh và không gian tên) mà tôi không thể hiển thị trên các ứng dụng khách đang chạy trong NNS mới của máy chủ.
Nó xuất hiện cổng TCP 6010 tiêu chuẩn thuộc về phiên ssh với NNS mặc định, trong khi NNS mới phải có riêng. Tôi chắc chắn có thể khởi động máy chủ ssh trong NNS mới và kết nối trực tiếp từ máy khách với NNS mới của máy chủ, nhưng tôi tự hỏi: có cách nào dễ dàng hơn để làm điều này không, tức là hiển thị các ứng dụng đồ họa chạy trong NNS mới của máy chủ trên máy chủ X11 của máy khách?