Bagaimana cara mengakses server Ubuntu jarak jauh saya melalui X-windows dari Mac saya?

35

Saya memiliki server Ubuntu (12,04 LTS) yang beroperasi secara jarak jauh pada layanan cloud hosting. Saya telah menginstal ubuntu-desktopmelalui apt-get:

$ sudo apt-get install ubuntu-desktop

Tampaknya telah menginstal tidak ada masalah.

Saya telah mengkonfirmasi bahwa /etc/ssh/ssh_configdi server berisi baris

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

dan /etc/ssh/sshd_configdi server berisi baris:

X11Forwarding yes

Saya kemudian reboot server. Itu muncul kembali tidak masalah.

Sekarang, mulai X11.app di Mac saya, saya diberikan Xterm.

Saya terhubung ke server saya dari terminal ini menggunakan:

$ ssh -X <myhost>

dan saya terhubung ke server, tidak ada masalah.

Pada titik ini saya tidak tahu harus berbuat apa. saya telah mencoba

$ sudo startx

tapi saya mendapatkan kesalahan "tidak ada layar yang ditemukan".

Saya tidak memiliki layar karena ini adalah server cloud tanpa kepala, tetapi saya hanya ingin mengaksesnya dari Mac hingga X.

Apa sekarang?

Magooda
sumber
2
Coba pasang xvfb. Saya tidak berpengalaman dengan itu, tetapi berfungsi seperti layar tanpa perangkat keras.
ζ--

Jawaban:

21

Ada beberapa metode untuk mencapai itu, tergantung pada apa yang benar-benar perlu Anda lakukan.

Untuk meneruskan aplikasi jarak jauh ke lingkungan X lokal, Anda perlu menginstal X11 pada Mac Anda (Anda dapat menemukannya di situs dukungan apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

Dari aplikasi X11, buka terminal, dan kemudian akses host jarak jauh dengan:

    ssh -XC user@host

Kemudian, ketika masuk, cukup jalankan perintah untuk aplikasi yang diinginkan, mis: firefox, nautilus, thunderbird, apa pun ...

Anda bahkan dapat meluncurkan hanya sistem (Ubuntu, Xubuntu, Mint, dll.) Menu Utama, dan berinteraksi dengan sistem jarak jauh dari sana, tanpa perlu front-end grafis penuh. Pada Linux Mint env jarak jauh, saya cukup menjalankan:

    mintmenu&

Jika Anda benar-benar membutuhkannya, Anda bahkan dapat memulai lingkungan grafis jarak jauh secara lokal di Mac X11 Anda, cukup menjalankan:

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

Lebih baik daripada VNC apa pun, bahkan lebih baik daripada koneksi X11VNC! Koneksi FTW yang aman dan terkompresi.

undertuga
sumber
7

Di Mac Anda, Anda harus menginstal XQuartz, jika Anda belum melakukannya (lihat http://xquartz.macosforge.org ). Setelah itu diinstal, reboot dan buka jendela terminal XQuartz dan SSH ke sistem Server Ubuntu Anda:

ssh -X yourubuntuserver

Jika lightdm sedang berjalan (lihat https://askubuntu.com/a/153423/66799 untuk membaca bagaimana menyalakan dan mematikannya sesuai kebutuhan), jalankan perintah ini untuk membuat Ubuntu Unity di-tunnelled ke Mac Anda melalui X11:

gnome-session --session=ubuntu-2d

Ini berfungsi untuk saya dengan Ubuntu Server 12.04 LTS dan Mac OS X Mountain Lion 10.8.2, tapi saya kadang-kadang mendapatkan kesalahan Composiz. Yang mengatakan, saya selalu mendapat kesalahan Composiz ketika menjalankan Desktop Ubuntu secara lokal juga. (-:

Anda dapat keluar dari Unity untuk menutup jendela Ubuntu Desktop.

Steve HHH
sumber
Ini berfungsi, XQuartx diperlukan.
SmallChess
Berfungsi bagus pada Windows 10 di WSL dengan Xming untuk tampilan.
Harsh
-1

Anda memiliki ide yang benar tetapi sintaks yang salah :)

startxtidak akan memulai dari yang sshseperti itu karena membutuhkan layar (alias Xserver untuk diajak bicara)

coba perintah ini untuk memulai desktop gui

sudo service gdm start

ini akan memulai lingkungan desktop.

memutuskan.

dan coba

ssh -X nautilus username@host 

note tidak menguji baris di atas

Jika semuanya berfungsi dengan baik, Anda akan melihat popup pengelola file ubuntu. Jika tidak, Anda mungkin kehilangan beberapa perpustakaan atau sintaks perintahnya salah (dari bagian atas kepala saya tidak mencobanya).

Matt Mootz
sumber
4
Tidak perlu (atau alasan) untuk dijalankan sudo service gdm start. The X Server berjalan pada klien SSH mesin --the yang digunakan sebagai workstation. Tidak perlu dijalankan pada mesin jarak jauh untuk ssh -Xdapat bekerja.
Eliah Kagan
Ah saya tidak menyadari ini terima kasih atas informasinya.
Matt Mootz