Làm cách nào để truy cập máy chủ Ubuntu từ xa thông qua X-windows từ máy Mac của tôi?


35

Tôi có một máy chủ Ubuntu (12.04 LTS) chạy từ xa trên dịch vụ lưu trữ đám mây. Tôi đã cài đặt ubuntu-desktopqua apt-get:

$ sudo apt-get install ubuntu-desktop

Có vẻ như đã cài đặt không có vấn đề.

Tôi đã xác nhận rằng /etc/ssh/ssh_configtrên máy chủ có chứa các dòng

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

/etc/ssh/sshd_configtrên máy chủ chứa dòng:

X11Forwarding yes

Sau đó tôi khởi động lại máy chủ. Nó trở lại không có vấn đề.

Bây giờ, bắt đầu X11.app trên máy Mac của tôi, tôi được tặng kèm một Xterm.

Tôi kết nối với máy chủ của mình từ thiết bị đầu cuối này bằng cách sử dụng:

$ ssh -X <myhost>

và tôi kết nối với máy chủ, không có vấn đề.

Tại thời điểm này tôi không biết phải làm gì. Tôi đã thử

$ sudo startx

nhưng tôi gặp lỗi "không tìm thấy màn hình".

Tôi không có màn hình vì máy chủ đám mây không đầu, nhưng tôi chỉ muốn truy cập nó từ máy Mac thông qua X.

Bây giờ thì sao


2
Hãy thử cài đặt xvfb. Tôi không có kinh nghiệm với nó, nhưng nó hoạt động như một màn hình không có phần cứng.
ζ--

Câu trả lời:


21

Có một số phương pháp để thực hiện điều đó, tùy thuộc vào những gì bạn thực sự cần làm.

Để chuyển tiếp ứng dụng từ xa sang môi trường X cục bộ, bạn cần cài đặt X11 trên máy Mac của mình (bạn có thể tìm thấy nó tại trang web hỗ trợ của apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

Từ ứng dụng X11, mở thiết bị đầu cuối, sau đó truy cập máy chủ từ xa bằng:

    ssh -XC user@host

Sau đó, khi đăng nhập, chỉ cần chạy lệnh cho ứng dụng mong muốn, ví dụ: firefox, nautilus, thunderbird, bất cứ điều gì ...

Bạn thậm chí chỉ có thể khởi chạy hệ thống (Ubuntu, Xubfox, Mint, v.v.) Menu chính và tương tác với hệ thống từ xa mà không cần giao diện đồ họa đầy đủ. Trên một Linux Mint env từ xa, tôi chỉ cần chạy:

    mintmenu&

Nếu bạn thực sự cần nó, bạn thậm chí có thể bắt đầu môi trường đồ họa từ xa cục bộ tại máy X11 của Mac, chỉ cần chạy:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

Tốt hơn bất kỳ VNC nào, thậm chí tốt hơn kết nối X11VNC! FTW kết nối an toàn và nén.


7

Trên máy Mac của bạn, bạn sẽ cần cài đặt XQuartz, nếu bạn chưa làm như vậy (xem http://xquartz.macosforge.org ). Sau khi cài đặt xong, hãy khởi động lại và mở cửa sổ đầu cuối XQuartz và SSH tới hệ thống Ubuntu Server của bạn:

ssh -X yourubuntuserver

Nếu lightdm đang chạy (xem https://askubfox.com/a/153423/66799 để đọc cách bật và tắt khi cần), hãy chạy lệnh này để Ubuntu Unity được điều chỉnh cho máy Mac của bạn qua X11:

gnome-session --session=ubuntu-2d

Điều này hoạt động với tôi với Ubuntu Server 12.04 LTS và Mac OS X Mountain Lion 10.8.2, nhưng tôi thỉnh thoảng gặp lỗi Composiz. Điều đó nói rằng, tôi luôn gặp lỗi Composiz khi chạy Ubuntu Desktop cục bộ. (-:

Bạn có thể đăng xuất khỏi Unity để đóng các cửa sổ Ubuntu Desktop.


Điều này hoạt động, XQuartx là cần thiết.
SmallChess

Hoạt động tốt trên Windows 10 trong WSL với Xming để hiển thị.
Khắc nghiệt

-1

Bạn có ý tưởng đúng nhưng cú pháp sai :)

startxsẽ không bắt đầu sshnhư vậy bởi vì nó cần một màn hình (còn gọi là Xmáy chủ để nói chuyện)

thử lệnh này để bắt đầu gui máy tính để bàn

sudo service gdm start

điều này sẽ bắt đầu môi trường máy tính để bàn.

ngắt kết nối

và cố gắng

ssh -X nautilus username@host 

lưu ý không kiểm tra trên dòng

Nếu mọi thứ hoạt động tốt, bạn sẽ thấy cửa sổ bật lên trình quản lý tệp ubfox. Nếu không, bạn có thể thiếu một số thư viện hoặc cú pháp của lệnh là sai (trên đỉnh đầu tôi đã không thử nó).


4
Không cần (hoặc lý do) để chạy sudo service gdm start. Máy chủ X chạy trên máy khách SSH - máy đang được sử dụng làm máy trạm. Nó không cần phải chạy trên máy từ xa ssh -Xđể làm việc.
Eliah Kagan

Ah tôi không biết điều này cảm ơn bạn cho thông tin.
Matt Mootz
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.