Tôi có một tập lệnh, chỉ đơn giản là để chạy Ứng dụng đồ họa (GUI) của tôi, như dưới đây.
#cat gui.sh
#!/bin/bash
./gui -display 127.0.0.1:0.0
Khi tôi chạy nó từ máy cục bộ ( ./gui.sh
) nó chạy hoàn toàn tốt. Nhưng khi tôi đang cố chạy nó từ máy từ xa qua ssh, tôi đã gặp lỗi sau.
[root@localhost]# ssh -f 192.168.3.77 "cd /root/Desktop/GUI/ && "./gui.sh""
No protocol specified
gdm: cannot connect to X server 192.168.3.77:0.0
[root@localhost]#
Tôi không biết, nó đang hỏi giao thức nào hay tôi thiếu thứ gì? Tôi đã thử trực tiếp bằng cách khởi động ứng dụng, không có tập lệnh [ ssh -f 192.168.3.77 "cd /root/Desktop/GUI/ && "./gui""
], nhưng kết quả vẫn như vậy. Tôi đã thử các kết hợp khác nhau như ssh -Y
, ssh -fY
và nhiều hơn nữa nhưng kết quả là như nhau!
Thứ hai cho ứng dụng của tôi, có một điều kiện bắt buộc là, trước tiên chúng ta phải vào thư mục chứa chương trình.
Giải pháp nào?
xhost +
sẽ cấp quyền truy cập cho bất kỳ ai để kết nối với màn hình của bạn. Tôi muốn giới thiệuxhost +local:[hostname or ip]